0

我在 app_code 文件夹中有一个自定义的 httphandler,我想在这个类中使用会话但是有一个异常消息,这里是代码

public void ProcessRequest(HttpContext context)
{
    HttpRequest request = context.Request;
    HttpResponse response = context.Response;

    HttpContext.Current.Session["UserID"] = "ABC";
    response.Write(HttpContext.Current.Session["UserID"].ToString());

}

错误信息:

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

有谁知道是什么问题>

4

3 回答 3

2

您需要使您的处理程序实现IReadOnlySessionStateIRequiresSessionState(用于写访问)。

于 2013-01-09T15:03:42.757 回答
1

如果要在 HttpHandler 中启用会话状态,则应从标记接口IRequiresSessionState继承处理程序

   using System.Web.SessionState;

    public class handler: IHttpHandler, IRequiresSessionState
    {

    } 
于 2013-01-09T15:03:34.537 回答
1

您需要实现IReadOnlySessionState能够从 HttpHandler 访问 Session。

这是一个很好的例子。

请注意,没有要实现的方法,只需让您的处理程序实现接口即可。

于 2013-01-09T15:04:47.797 回答