web-dev-qa-db-ja.com

ASP.NETジェネリックハンドラーとセッション

GenericHandlerとanonymousIdentificationに問題があります。

基本的に<anonymousIdentification enabled="true" />は、JQuery GET/POSTリクエストがサーバーに送信されるたびに、Web設定でオンになり、そのリクエストは新しいユーザーと新しいユーザーセッションで実行されます。

これを軽減する方法はありますか?現在のユーザーのセッション変数にアクセスする必要があります...本当にイライラします!

18
bleepzter

汎用ハンドラーは、セッション変数にアクセスするために IReadOnlySessionState インターフェースを実装する必要があります。セッション変数も作成する必要がある場合は、 IRequiresSessionState を実装します。

40
Josh Stodola

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

}
13
sm.abdullah

あなたはこれを使うことができます:

public class Handler : 
    IHttpHandler, 
    System.Web.SessionState.IReadOnlySessionState
3
Djb