ASP.NET:Как получить доступ к сеансу из обработчика?[дубликат]
-
21-08-2019 - |
Вопрос
На этот вопрос уже есть ответ здесь:
i'm попытка сохранить некоторые значения в Сессия из a Обработчик Страница, прежде чем я сделаю перенаправление на страницу WebForms, которая подберет Сессия значения и предварительно заполните веб-форму:
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
...
}
...
}
За исключением context.Session
объект равен нулю.
Как мне получить доступ к состоянию сеанса из обработчика?
Решение
Внедрить System.Web.Состояние сеанса.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);
}
Не связан с StackOverflow