ASP.NET:如何从处理程序访问会话?

我想从一个处理程序页面的会话中存储一些值之前,我redirect到一个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); }