je suis essayant de stocker des valeurs dans la session à partir d'une page Handler , avant de faire une redirection vers une page WebForms, qui récupérera les valeurs de la session et pré-remplira le WebForm:
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
...
}
...
}
Sauf context.Session
l'objet est nul.
Comment accéder à l'état de session à partir d'un gestionnaire?
Implémentez l'interface 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");
}
}
Implémenter IRequiresSessionState
Est-ce que l'implémentation iRequiresSessionState résout ce problème?
Que diriez-vous de faire un IHttpModule à la place et de remplacer BeginRequest?
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(context_BeginRequest);
}