49

WebFormsページにリダイレクトする前に、ハンドラーページからSessionにいくつかの値を保存しようとしています。これにより、 Session値が取得され、WebFormが事前に入力されます。

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

context.Sessionオブジェクトがnullであることを除いて。

ハンドラーからセッション状態にアクセスするにはどうすればよいですか?

4

3 に答える 3

111

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

}
于 2009-06-29T14:22:51.923 に答える
10

埋め込むIRequiresSessionState

于 2009-06-29T14:26:08.003 に答える
7

iRequiresSessionStateを実装すると、これが解決しますか?

代わりに IHttpModule を実行し、BeginRequest をオーバーライドするのはどうですか?

    public void Init(HttpApplication application)
    {
        application.BeginRequest += new EventHandler(context_BeginRequest);
    }
于 2009-06-29T14:27:02.743 に答える