私は HandlerページからSessionに値を保存しようとしています 、WebFormsページにリダイレクトする前に、Session値を取得し、WebFormに事前入力します。
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
...
}
...
}
context.Session
オブジェクトを除いて、nullです。
ハンドラーからセッション状態にアクセスするにはどうすればよいですか?
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");
}
}
IRequiresSessionState
を実装する
iRequiresSessionState を実装するとこれは解決しますか?
代わりにIHttpModuleを実行し、BeginRequestをオーバーライドするのはどうですか?
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(context_BeginRequest);
}