HttpContext.Session==null 解决办法
2015-06-07 22:52
357 查看
在HttpHandler程序中使用Session时发现,HttpContext.Session==null ,后来在大神的博客得到了答案,原来需要IRequiresSessionState接口。
同时,自定义 HTTP 处理程序,从IHttpHandler继承,在写System.Web.HttpContext.Current.Session["Value"]的时候,没有问题,但想将这个Session写到某个变量时或判断是否为空时如:HttpContext.Current.Session["Value"]==null,发现Session的值为NULL,后来查MSDN,看到“在自定义
HTTP 处理程序中实现 IRequiresSessionState 接口,以确定处理程序是否需要对会话状态值具有读写访问权”,在自定义那个类上加上该接口后,果然正常了。
在使用asp.net编写webservice时,默认情况下是不支持session的,但我们可以把WebMethod的EnableSession选项设为true来显式的打开它,如下:
同时,自定义 HTTP 处理程序,从IHttpHandler继承,在写System.Web.HttpContext.Current.Session["Value"]的时候,没有问题,但想将这个Session写到某个变量时或判断是否为空时如:HttpContext.Current.Session["Value"]==null,发现Session的值为NULL,后来查MSDN,看到“在自定义
HTTP 处理程序中实现 IRequiresSessionState 接口,以确定处理程序是否需要对会话状态值具有读写访问权”,在自定义那个类上加上该接口后,果然正常了。
在使用asp.net编写webservice时,默认情况下是不支持session的,但我们可以把WebMethod的EnableSession选项设为true来显式的打开它,如下:
public class LogOut : IHttpHandler, IRequiresSessionState {
[WebMethod( EnableSession = true )] //需要using System.Web.Services; public void ProcessRequest(HttpContext context) {
}
}
相关文章推荐
- poj 3281 Dining 【拆点网络流】【最大流经典问题 关键建图】
- 网络抖动
- 网络加密
- UNP---套接字简介
- 从多层感知器到卷积网络(二)
- java网络编程笔记
- UNP学习记录---三次握手和四次挥手
- Android 优化电池使用时间——确定和检测网络状态
- Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
- iOS开发网络—13使用ASI框架进行文件下载
- iOS开发网络—11发送json数据给服务器以及多值参数
- iOS开发网络—12数据缓存
- iOS开发网络—10监测网络状态
- iOS开发网络—09简单介绍ASI框架的使用
- iOS开发网络—08文件的上传
- iOS开发网络—07大文件的多线程断点下载
- iOS开发网络—06NSURLConnection基本使用
- iOS开发网络—05数据安全
- iOS开发网络—04GET请求和POST请求
- Linux运维 第三阶段 (六)web相关概念httpd服务及https加密传输配置