这个问题在这里已经有答案了:

我是 尝试在中存储一些值 会议 从一个 处理程序, ,在我重定向到 WebForms 页面之前,它将获取 会议 值并预填写 WebForm:

public class Handler : IHttpHandler
{
   public void ProcessRequest(HttpContext context)
   {
      ...
      context.Session["StackOverflow"] = "overflowing";
      context.Response.Redirect("~/AnotherPage.aspx");
      ...
   }
   ...
 }

除了 context.Session 对象为空。

如何从处理程序访问会话状态?

有帮助吗?

解决方案

实施 System.Web.SessionState.IRequiresSessionState 界面

public class Handler : IHttpHandler, System.Web.SessionState.IRequiresSessionState 
{   
  public void ProcessRequest(HttpContext context)  
  {      
    context.Session["StackOverflow"] = "overflowing";      
    context.Response.Redirect("~/AnotherPage.aspx");      
  }

}

其他提示

实施 IRequiresSessionState

是否实施 iRequiresSessionState 解决这个问题吗?

改为使用 IHttpModule 并重写 BeginRequest 怎么样?

    public void Init(HttpApplication application)
    {
        application.BeginRequest += new EventHandler(context_BeginRequest);
    }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top