您的位置:首页 > 理论基础 > 计算机网络

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来显式的打开它,如下: 

public class LogOut : IHttpHandler, IRequiresSessionState {

[WebMethod( EnableSession = true )]  //需要using System.Web.Services;
    public void ProcessRequest(HttpContext context)
    {


}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: