0

app_code フォルダーにカスタム httphandler があります。このクラスでセッションを使用したいのですが、例外メッセージが表示されます。コードは次のとおりです。

public void ProcessRequest(HttpContext context)
{
    HttpRequest request = context.Request;
    HttpResponse response = context.Response;

    HttpContext.Current.Session["UserID"] = "ABC";
    response.Write(HttpContext.Current.Session["UserID"].ToString());

}

エラーメッセージ:

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

誰もが何が問題なのか知っています>

4

3 に答える 3

2

IReadOnlySessionStateハンドラーにor IRequiresSessionState(書き込みアクセス用) を実装させる必要があります。

于 2013-01-09T15:03:42.757 に答える
1

HttpHandler でセッション状態を有効にしたい場合は、マーカー インターフェイスIRequiresSessionStateからハンドラーを継承する必要があります。

   using System.Web.SessionState;

    public class handler: IHttpHandler, IRequiresSessionState
    {

    } 
于 2013-01-09T15:03:34.537 に答える
1

IReadOnlySessionStateHttpHandler から Session にアクセスできるように実装する必要があります。

これが良い例です

実装するメソッドがないことに注意してください。単にハンドラーにインターフェースを実装させるだけです。

于 2013-01-09T15:04:47.797 に答える