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); }