ASP.NET: как получить доступ к сеансу из обработчика? - программирование
Подтвердить что ты не робот

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.

Как мне получить доступ к состоянию сеанса из обработчика?

4b9b3361

Ответ 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);
    }