ashx中使用HttpContext.Current.Session ,出现未将对象引用设置到实例上[转]

http://www.cnblogs.com/jinzhao/archive/2009/10/09/1579473.html

解决方法:

1.引用using System.Web.SessionState;

2.在aspx类实现IReadOnlySessionState接口。如:public class {ClassName}: IHttpHandler, IReadOnlySessionState{…}

原因:

“IReadOnlySessionState”,指定目标HTTP处理程序只需要具有对话访问状态值的读访问权限。

实际上是ashx文件首先是实现了IHttpHandler接口。但要访问page中的session状态值时,是两个应用领域。

微软默认状态下没有访问权限,所以ashx文件访问不了HttpContext.Current.Session,故出现未将对象设置到实例上。

只需要在实现IReadOnlySessionState接口即可。

原文地址:https://www.cnblogs.com/weikai/p/3334594.html