ASP.NET: ¿Cómo acceder a la sesión desde el controlador?

Estoy tratando de almacenar algunos valores en la sesión desde una página de Handler , antes de hacer un redireccionamiento a una página de WebForms, que recogerá los valores de la sesión y completará previamente el formulario WebForm:

public class Handler : IHttpHandler { public void ProcessRequest(HttpContext context) { ... context.Session["StackOverflow"] = "overflowing"; context.Response.Redirect("~/AnotherPage.aspx"); ... } ... } 

Excepto context.Session objeto de context.Session es nulo.

¿Cómo puedo acceder al estado de sesión desde un controlador?

Implementar la interfaz 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"); } } 

Implementar IRequiresSessionState

¿La implementación de iRequiresSessionState resuelve esto?

¿Qué tal si hacemos un IHttpModule y reemplazamos BeginRequest?

  public void Init(HttpApplication application) { application.BeginRequest += new EventHandler(context_BeginRequest); }