问题
i\'m trying to store some values in the Session from a Handler page, before i do a redirect to a WebForms page, that will pick up the Session values and pre-fill the WebForm:
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
context.Session[\"StackOverflow\"] = \"overflowing\";
context.Response.Redirect(\"~/AnotherPage.aspx\");
...
}
...
}
Except context.Session
object is null.
How do i access Session state from a handler?
回答1:
Implement the System.Web.SessionState.IRequiresSessionState interface
public class Handler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
}
}
回答2:
Implement IRequiresSessionState
回答3:
Does implementing iRequiresSessionState resolve this?
What about doing an IHttpModule instead and overriding BeginRequest?
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(context_BeginRequest);
}
来源:https://stackoverflow.com/questions/1058568/asp-net-how-to-access-session-from-handler