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

解决方法:

1.引用using System.Web.SessionState;

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

原因:

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

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

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

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

posted @ 2012-05-29 14:19  Xia.CJ  阅读(953)  评论(0编辑  收藏  举报