IHttpHandler session问题
来源:互联网 发布:淘宝手机助手. 编辑:程序博客网 时间:2024/06/08 01:09
通常我们经常,通过session判定用户是否登录。还有一些临时的、重要的数据也尝尝存放在Session中。
在页面我们很容易的得到Session的值,但在类中就会遇到一些问题。也知道通过下面的方法得到。
System.Web.HttpContext.Current.Session["userinfo"];
但是今天此种方法也失灵了。在做一个小应用时,需要实现IHttpHandler,同时也需要用到用户的标识。但是在这个类中怎么也不能找到Session的值,曝出
System.Web.HttpContext.Current.Session为null
在实现IHttpHandler的同时,也要实现IRequiresSessionState接口,其命名空间为:System.Web.SessionState。
为什么要实现这个接口呢?这个接口是做什么用的呢?继续追踪,MSDN给了最终解释。
IRequiresSessionState
指定目标 HTTP 处理程序需要对会话状态值具有读写访问权。这是一个标记接口,没有任何方法。
作用:
在自定义 HTTP 处理程序中实现 IRequiresSessionState 接口,以确定处理程序是否需要对会话状态值具有读写访问权
所以记得哦,如果在自定义HTTP处理程序中,要访问Session,记得一定要实现这个接口哦。
加上这句public class CreateCheckNumber : IHttpHandler, IRequiresSessionState
程序里就可以合法访问:
context.Session["SN"] = RandomString;
HttpHandler使用Session
继承自IHttpHandler的类要实现两个接口:ProcessRequest和IsReusable
但还不能使用Session,要使用Session需要下面的步骤处理:
1、先引用System.Web.SessionState 这个命名空间,
2、如果是要在HttpHandler 中读取Session的内容,就要在实现IHttpHandler 的类中同时实现IReadOnlySessionState 这个接口。
3、如果是要在HttpHandler 中读写Session的内容,就要在实现IHttpHandler 的类中同时实现IRequiresSessionState
但还不能使用Session,要使用Session需要下面的步骤处理:
1、先引用System.Web.SessionState 这个命名空间,
2、如果是要在HttpHandler 中读取Session的内容,就要在实现IHttpHandler 的类中同时实现IReadOnlySessionState 这个接口。
3、如果是要在HttpHandler 中读写Session的内容,就要在实现IHttpHandler 的类中同时实现IRequiresSessionState
- IHttpHandler session问题
- IHttpHandler中捕获Session
- 在IHttpHandler中使用SESSION
- IHttpHandler
- IHttpHandler
- 实现IHttpHandler接口后,无法用Session的解决方法!
- IHttpHandler接口
- IHttpHandler 概述
- IHttpHandler 概述
- ihttphandler & ihttpmodule
- IHttpHandler 概述
- .net IHttpHandler
- 了解 IHttpHandler
- Session问题
- net2003转到net2005碰到的一个问题:不会实现接口成员“System.Web.IHttpHandler.IsReusable”
- 在ASP.NET中使用IHttpHandler处理请求(如自实现AJAX)时,无法获得Session(或者说是Session 为 null)的原因及解决方法
- 防盗链IHttpHandler
- IHttpHandler使用范例
- GDAL源码剖析(十三)之GDAL网格插值说明
- oracle登陆认证方式
- Oracle常用监控SQL
- activity
- Common Wait Events---buffer busy waits
- IHttpHandler session问题
- 表空间传输transport tabale space 实例
- HDU 1505 dp
- 数据解析系统中需改进的几点
- find命令
- Common Wait Events---db file scattered read
- 堆排序和快速排序
- 取得应用程序的根目录
- grep命令的知识.