ASP.NET: как получить доступ к сеансу из обработчика?
i пытается сохранить некоторые значения в сеансе с страницы обработчика, прежде чем я перейду на страницу WebForms, который получит значения Сессия и предварительно заполнит WebForm:
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
...
}
...
}
За исключением объекта context.Session
значение null.
Как мне получить доступ к состоянию сеанса из обработчика?
Ответы
Ответ 1
Внедрите 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");
}
}
Ответ 2
Внедрить IRequiresSessionState
Ответ 3
Помогает ли это реализовать iRequiresSessionState?
А что делать с IHttpModule и переопределять BeginRequest?
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(context_BeginRequest);
}