HttpHandler和ashx要实现IRequiresSessionState接口才能访问Session信息(转载)
通常我们经常,通过session判定用户是否登录。还有一些临时的、重要的数据也尝尝存放在Session中。
在页面我们很容易的得到Session的值,但在类中就会遇到一些问题。也知道通过下面的方法得到。
System.Web.HttpContext.Current.Session["userinfo"];
但是今天此种方法也失灵了。在做一个小应用时,需要实现IHttpHandler,同时也需要用到用户的标识。但是在这个类中怎么也不能找到Session的值,曝出
System.Web.HttpContext.Current.Session为null
为什么得到的Session会是空呢?想了好久也没想通。找了好久,才找到了高人的指点,问题得到了解决。
解决方法:
在实现IHttpHandler的同时,也要实现IRequiresSessionState接口,其命名空间为:System.Web.SessionState。
public class WatermarkHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
//WatermarkHandler 中的代码
}
继续追踪:
为什么要实现这个接口呢?这个接口是做什么用的呢?继续追踪,MSDN给了最终解释。
IRequiresSessionState
指定目标 HTTP 处理程序需要对会话状态值具有读写访问权。这是一个标记接口,没有任何方法。
作用:
在自定义 HTTP 处理程序中实现 IRequiresSessionState 接口,以确定处理程序是否需要对会话状态值具有读写访问权
所以记得哦,如果在自定义HTTP处理程序中,要访问Session,记得一定要实现这个接口哦。
HttpHandler和ashx要实现IRequiresSessionState接口才能访问Session信息(转载)的更多相关文章
- HttpHandler和ashx使用Session 出现未初始化异常
原因: HttpHandler和ashx要实现IRequiresSessionState接口才能访问Session信息 接口IRequiresSessionState: 指定目标 HTTP 处理程序需 ...
- 在ashx文件中制作验证码(使用session要继承IRequiresSessionState)
必须继承System.Web.SessionState.IRequiresSessionState接口,才能实现Session读写! System.Web.SessionState的一些接口 IRea ...
- IRequiresSessionState接口控制
刚刚接触.net web端的朋友都会被Session坑过,莫名其妙的不能读取Session数据,后来知道原来有IRequiresSessionState这个接口,不继承的就不能读取Session里面的 ...
- requests接口自动化4-登录后才能访问的get请求,需共享cookie
登录后才能访问的get请求,需共享cookie fiddler里请求响应结果: 代码: import requests import json #form表单形式的post请求,用data传参,Con ...
- 在一般处理文件中访问Session需要添加IRequiresSessionState(转载)
原文:http://blog.csdn.net/cdsnaspnet/article/details/5695625s 通常我们经常,通过session判定用户是否登录.还有一些临时的.重要的数据也尝 ...
- 在一般处理文件中访问Session需要添加IRequiresSessionState
在IHttpHandler 使用Session 通常我们经常,通过session判定用户是否登录.还有一些临时的.重要的数据也尝尝存放在Session中. 在页面我们很容易的得到Session的值,但 ...
- python+pytest接口自动化(10)-session会话保持
在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢? 上一篇文章我们介绍了Cookie绕过登录,其实这就是保持登录状态的方法之一. 另外一种方式则是通过 ...
- C#中显/隐式实现接口及其访问方法
原贴地址: http://www.cnblogs.com/dudu837/archive/2009/12/07/1618663.html 在实现接口的时候,VS提供了两个菜单,一个是"实现接 ...
- react native-调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错
调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错,而在iOS上运行没问题.原因是因为接口是有验证信息的,而调用这个插件时没有传入,在iOS上会自动加 ...
随机推荐
- Swift 遇到的报错信息
第一个,没看懂.一开始还以为是不支持iOS7的缘故. dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /var ...
- 【转】Http Cache最基本的一些东西
Http Cache最基本的一些东西 Cache浏览器IEwebkitApache Http的Cache机制总共有4个组成部分: Cache-Control: max-age=N(seconds) ...
- 关于action script与js相互调用的Security Error问题
大家都知道,as和js相互调用可以通过ExternalInterface.call和ExternalInterface.addCallback来进行. 比较好的做法是使用之前通过ExternalInt ...
- oracle语句随笔
oracle语句随笔 dmp数据的导入. ; --创建用户 GRANT CONNECT,RESOURCE,DBA TO memsspc; --赋值权限 --cmd 中导入命令 IMP memsspc@ ...
- In App Purchase Statuses
In App Purchase StatusesThe following are the available states that can be assigned to your in app p ...
- Ubuntu14.04安装和配置Tomcat8.0.12(转)
Ubuntu14.04长的好看,所以一时间很感兴趣,研究各种软件的安装和开发环境的配置.今天先把安装的tomcat 8.0.12的教程分享给大家.如果你需要,请收藏!!! 工具/原料 系统环境:U ...
- A股回归牛市?
A股回归牛市? 国际知名投行摩根士丹利(Morgan Stanley)预计,中国股市将恢复牛市大涨行情. 该行预计上证综指明年底将报4,400点,较目前的3,241点水平涨36%.预计每股盈余(EPS ...
- Ubuntu 安装 Brother MFC7470D 驱动
Ubuntu 安装 Brother MFC7470D 驱动 办公室的打印机是 Brother MFC7470D ,在 Ubuntu 中安装打印机驱动时,发现没有这个型号的驱动.只有 MFC7450 的 ...
- winston日志管理2
上次讲到 Exceptions 例外 Handling Uncaught Exceptions with winston 使用winston处理未捕获的异常(这个如果对于异步,我不是很喜欢用) 使用 ...
- css元素position定位和z-index
网页元素定位 1.注意点: 1)给元素设定高度要小心,除非给已知大小的图片设置高度,否则无法得知指定元素在页面上会有多高.此时最好通过padding等来控制高度. 2)对于同一个元素,不要讲float ...