System.Web.HttpContext.Current.Session获取值出错
2014-02-12 13:12
405 查看
在自定义类库CS文件里使用System.Web.HttpContext.Current.Session获取Session时提示错误:未将对象引用设置到对象的实例。
一般情况下通过这种方式获取Session值不会有问题,不过应特别注意要使用session必须要page_load方法执行以建立了page对象以后才有session的使用目标,此时先检测Session是否为Null再调用值是不会提示错误的。
如果直接在Page页面中定义一个全局变量取Session的值就会提示未设置实例的错误!使用Application,Cookie同理也需注意这个问题。
在ASHX一般处理程序文件中如需调用Session必须继承System.Web.SessionState.IRequiresSessionState接口,才能实现Session读写!
System.Web.SessionState的接口介绍:
IReadOnlySessionState 指定目标 HTTP 处理程序只需要具有对会话状态值的读访问权限。这是一个标记接口,没有任何方法。
IRequiresSessionState 指定目标 HTTP 处理程序需要对会话状态值具有读写访问权。这是一个标记接口,没有任何方法。
自定义 HTTP 处理程序,从IHttpHandler继承,在写System.Web.HttpContext.Current.Session["Name"]的时候没有问题,但想将这个Session写到某个变量时,发现Session的值为NULL;
MSDN中的解决方法为:“在自定义 HTTP 处理程序中实现 IRequiresSessionState 接口,以确定处理程序是否需要对会话状态值具有读写访问权”,在自定义的类上加上该接口后,Session值获取正常。
一般情况下通过这种方式获取Session值不会有问题,不过应特别注意要使用session必须要page_load方法执行以建立了page对象以后才有session的使用目标,此时先检测Session是否为Null再调用值是不会提示错误的。
如果直接在Page页面中定义一个全局变量取Session的值就会提示未设置实例的错误!使用Application,Cookie同理也需注意这个问题。
在ASHX一般处理程序文件中如需调用Session必须继承System.Web.SessionState.IRequiresSessionState接口,才能实现Session读写!
System.Web.SessionState的接口介绍:
IReadOnlySessionState 指定目标 HTTP 处理程序只需要具有对会话状态值的读访问权限。这是一个标记接口,没有任何方法。
IRequiresSessionState 指定目标 HTTP 处理程序需要对会话状态值具有读写访问权。这是一个标记接口,没有任何方法。
自定义 HTTP 处理程序,从IHttpHandler继承,在写System.Web.HttpContext.Current.Session["Name"]的时候没有问题,但想将这个Session写到某个变量时,发现Session的值为NULL;
MSDN中的解决方法为:“在自定义 HTTP 处理程序中实现 IRequiresSessionState 接口,以确定处理程序是否需要对会话状态值具有读写访问权”,在自定义的类上加上该接口后,Session值获取正常。
相关文章推荐
- .net System.Web.HttpContext.Current.Session 获取值出错(一般处理程序中出错)
- System.Web.HttpContext.Current.Session获取值出错
- System.Web.HttpContext.Current.Session获取值出错
- .net System.Web.HttpContext.Current.Session 获取值出错(在Page继承类的构造函数中出错)
- System.Web.HttpContext.Current.Session获取值出错
- System.Web.HttpContext.Current.Session为NULL解决方法
- asp.net中处理程序调用HttpContext.Current.Session获取值出错
- System.Web.HttpContext.Current.Session NullReference错误
- System.Web.HttpContext.Current.Session为NULL值的问题?
- System.Web.HttpContext.Current.Session为NULL值的问题?
- System.Web.HttpContext.Current.Session为NULL值的问题?
- System.Web.HttpContext.Current.Session为NULL值的问题?
- 为什么获取的System.Web.HttpContext.Current值为null,HttpContext对象为null时如何获取程序(站点)的根目录
- System.Web.HttpContext.Current.Session为NULL值的问题?
- 文件上传 content-type:application/json System.Web.HttpContext.Current.Request.InputStream 读取不到数据
- System.Web.HttpContext.Current是什么
- HttpContext为null new HttpContextWrapper(System.Web.HttpContext.Current)
- System.Web.HttpContext.Current.Cache与System.Web.HttpRuntime.Cache指向同一个引用
- System.Web.HttpContext.Current.Cache和System.Web.HttpRuntime.Cache有什么区别?
- System.Web.HttpContext.Current.Server.MapPath("~/upload/SH") 未将对象引用设置为实例对象