A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天在做网页后台登录时操作ashx处理session值时,一直没拿到还报错“未将对象引用设置到对象的实例”的异常,因此查了下资料

在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下:

HttpRequest Request = context.Request;

HttpResponse Response = context.Response;

但是要得到 Session的值就没有那么简单了。比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"]

如果你只是context.Session["userAccount"]的话是会报 “未将对象引用设置到对象的实例”的异常

所以,如果要想取Session中的值 ,需要如下所示

1、引入 命名空间:

using System.Web.SessionState;


2、实现IRequiresSessionState接口,具体如下  

public class AddUserInfo : IHttpHandler,IRequiresSessionState //就是这样显示的实现一下,不用实现什么方法
{
public void ProcessRequest(HttpContext context)
{
       //这样就可以 操作了
if (context.Session["uInfo"] != null)      

      {            
   context.Session.Abandon();                context.Response.Redirect("login.aspx");      
     }
    }
  }

public bool IsReusable {
        get {
            return false;
        }
    }







0 个回复

您需要登录后才可以回帖 登录 | 加入黑马