ASP.NET: Como acessar sessão de manipulador? [duplicado]
-
21-08-2019 - |
Pergunta
Esta questão já tem uma resposta aqui:
tentando armazenar alguns valores na sessão de um Handler página , antes de eu fazer um redirecionamento para uma página WebForms, que vai pegar os Session valores e pré-preencher o WebForm:
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
...
}
...
}
Com exceção context.Session
objeto é nulo.
Como faço para acessar o estado de sessão a partir de um manipulador?
Solução
Implementar a System.Web.SessionState.IRequiresSessionState Interface
public class Handler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
}
}
Outras dicas
Implementar IRequiresSessionState
A implementação IRequiresSessionState resolver este?
Que tal fazer um IHttpModule vez e substituindo BeginRequest?
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(context_BeginRequest);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow