最近、特定のリクエストに応答するインターフェイスを作成する必要があります。これは内部でのみ処理され、UI はありません。この場合、HTML コントロールの読み込み時間を短縮できる IHttpHandler を使用します。 IHttpHandler で定義されている ProcessRequest(HttpContext ctx) と IsRunable() の 2 つのメソッドについて、ProcessRequest(HttpContext ctx) に HttpContext という入力パラメータがあるのを見て、これを介してすべて使用できると考えました。サーバー オブジェクトですが、前に HttpContext への参照が必要です。ただし、このカスタム HTTP 応答処理ヘッダーに Session を記述する必要があります。HttpContext を使用して、Session が参照できないというエラーが発生します。本当に 100 個あるのです。HTTPCONTEXT には使用できるサーバー オブジェクトがリストされていますが、SESSION は使用できません。とても大変なので、カスタマイズしたHTTPHANDLERの内容を通常のWEBFORMに埋め込む必要があります。終わった直後に偶然カスタムHTTPHANDLERでSESSIONを使う方法を発見!
1. まず、System.Web.SessionState 名前空間を参照します。
2. HttpHandler で Session の内容を読み取りたい場合は、IHttpHandler を実装するクラスに IReadOnlySessionState インターフェイスも実装する必要があります。
カスタム HttpHandler で Session が正常に使用できるように
、IHttpHandler を実装するクラスに IRequiresSessionState も実装する必要があります
。