ASP.NET:ハンドラーからセッションにアクセスするにはどうすればよいですか?[重複]

StackOverflow https://stackoverflow.com/questions/1058568

質問

この質問にはすでに答えがあります:

私は にいくつかの値を保存しようとしています セッション から ハンドラ ページ, 、WebFormsページにリダイレクトする前に、 セッション 値を設定し、Web フォームに事前に入力します。

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);
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top