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接口即可。