HttpApplication イベント


HttpApplication クラス
アセンブリ: System.Web (system.web.dll 内)

Public Class HttpApplication Implements IHttpAsyncHandler, IHttpHandler, IComponent, IDisposable
public class HttpApplication : IHttpAsyncHandler, IHttpHandler, IComponent, IDisposable
public ref class HttpApplication : IHttpAsyncHandler, IHttpHandler, IComponent, IDisposable
public class HttpApplication implements IHttpAsyncHandler, IHttpHandler, IComponent, IDisposable
public class HttpApplication implements IHttpAsyncHandler, IHttpHandler, IComponent, IDisposable

HttpApplication クラスのインスタンスは、開発者が直接作成するのではなく、ASP.NET インフラストラクチャで作成されます。HttpApplication クラスの 1 つのインスタンスを使用してその有効期間内に多くの要求を処理できますが、インスタンスで一度に処理できる要求は 1 つだけです。このため、メンバ変数を使用して、要求ごとのデータを格納できます。
アプリケーションは、Global.asax ファイルで定義されているモジュールまたはユーザー コードで処理されるイベントを次の順序で実行します。
-
BeginRequest
-
AuthenticateRequest
-
PostAuthenticateRequest
-
AuthorizeRequest
-
PostAuthorizeRequest
-
ResolveRequestCache
-
PostResolveRequestCache
PostResolveRequestCache イベントの後および PostMapRequestHandler イベントの前に、イベント ハンドラ (要求 URL に対応するページ) が作成されます。
-
PostMapRequestHandler
-
AcquireRequestState
-
PostAcquireRequestState
-
PreRequestHandlerExecute
-
PostRequestHandlerExecute
-
ReleaseRequestState
-
PostReleaseRequestState
-
UpdateRequestCache
-
PostUpdateRequestCache
-
EndRequest

HttpApplication クラスとそのイベントの使用方法を次の 2 つの例に示します。コード例では、カスタム HTTP モジュールを作成してそれにイベントを接続する方法を示します。2 つ目の例では、Web.config ファイルの変更方法をデモンストレーションします。
カスタム HTTP モジュールを作成し、AcquireRequestState イベントをその HTTP モジュールに接続する方法を次のコード例に示します。HTTP モジュールが Web アプリケーション リソースへの各要求を受け取ることによって、クライアント要求のフィルタ処理が可能となります。HttpApplication イベントをサブスクライブするすべての HTTP モジュールは、IHttpModule インターフェイスを実装する必要があります。
Imports System Imports System.Web Namespace Samples.AspNet.VB Public Class CustomHTTPModule Implements IHttpModule Public Sub New() ' Class constructor. End Sub ' Classes that inherit IHttpModule ' must implement the Init and Dispose methods. Public Sub Init(ByVal app As HttpApplication) Implements IHttpModule.Init AddHandler app.AcquireRequestState, AddressOf app_AcquireRequestState AddHandler app.PostAcquireRequestState, AddressOf app_PostAcquireRequestState End Sub Public Sub Dispose() Implements IHttpModule.Dispose ' Add code to clean up the ' instance variables of a module. End Sub ' Define a custom AcquireRequestState event handler. Public Sub app_AcquireRequestState(ByVal o As Object, ByVal ea As EventArgs) Dim httpApp As HttpApplication = CType(o, HttpApplication) Dim ctx As HttpContext = HttpContext.Current ctx.Response.Write(" Executing AcquireRequestState ") End Sub ' Define a custom PostAcquireRequestState event handler. Public Sub app_PostAcquireRequestState(ByVal o As Object, ByVal ea As EventArgs) Dim httpApp As HttpApplication = CType(o, HttpApplication) Dim ctx As HttpContext = HttpContext.Current ctx.Response.Write(" Executing PostAcquireRequestState ") End Sub End Class End Namespace
using System; using System.Web; namespace Samples.AspNet.CS { public class CustomHTTPModule : IHttpModule { public CustomHTTPModule() { // Class constructor. } // Classes that inherit IHttpModule // must implement the Init and Dispose methods. public void Init(HttpApplication app) { app.AcquireRequestState += new EventHandler(app_AcquireRequestState); app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState); } public void Dispose() { // Add code to clean up the // instance variables of a module. } // Define a custom AcquireRequestState event handler. public void app_AcquireRequestState(object o, EventArgs ea) { HttpApplication httpApp = (HttpApplication)o; HttpContext ctx = HttpContext.Current; ctx.Response.Write(" Executing AcquireRequestState "); } // Define a custom PostAcquireRequestState event handler. public void app_PostAcquireRequestState(object o, EventArgs ea) { HttpApplication httpApp = (HttpApplication)o; HttpContext ctx = HttpContext.Current; ctx.Response.Write(" Executing PostAcquireRequestState "); } } }
カスタム HTTP モジュール内でイベントを発生させるためには、まず、HTTP モジュールに関する通知が ASP.NET に対して行われるように、Web.config ファイルで構成設定を変更する必要があります。Web.config ファイルの httpModules セクションにおける適切な構成設定を次のコード例に示します。
<configuration> <system.web> <httpModules> <add type="Samples.AspNet.CS.CustomHTTPModule" name="CustomHttpModule" /> </httpModules> </system.web> </configuration>
<configuration> <system.web> <httpModules> <add type="Samples.AspNet.VB.CustomHTTPModule" name="CustomHttpModule" /> </httpModules> </system.web> </configuration>


System.Web.HttpApplication


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HttpApplication コンストラクタ
アセンブリ: System.Web (system.web.dll 内)


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HttpApplication プロパティ




HttpApplication メソッド

名前 | 説明 | |
---|---|---|
![]() | AddOnAcquireRequestStateAsync | オーバーロードされます。 指定した AcquireRequestState イベントを、現在の要求の非同期 AcquireRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnAuthenticateRequestAsync | オーバーロードされます。 指定した AuthenticateRequest イベントを、現在の要求の非同期 AuthenticateRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnAuthorizeRequestAsync | オーバーロードされます。 指定した AuthorizeRequest イベントを、現在の要求の非同期 AuthorizeRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnBeginRequestAsync | オーバーロードされます。 指定した BeginRequest イベントを、現在の要求の非同期 BeginRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnEndRequestAsync | オーバーロードされます。 指定した EndRequest イベントを、現在の要求の非同期 EndRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostAcquireRequestStateAsync | オーバーロードされます。 指定した PostAcquireRequestState イベントを、現在の要求の非同期 PostAcquireRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostAuthenticateRequestAsync | オーバーロードされます。 指定した AddOnPostAcquireRequestStateAsync イベントを、現在の要求の非同期 PostAuthenticateRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostAuthorizeRequestAsync | オーバーロードされます。 指定した PostAuthorizeRequest イベントを、現在の要求の非同期 PostAuthorizeRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostMapRequestHandlerAsync | オーバーロードされます。 指定した PostMapRequestHandler イベントを、現在の要求の非同期 PostMapRequestHandler イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostReleaseRequestStateAsync | オーバーロードされます。 指定した PostReleaseRequestState イベントを、現在の要求の非同期 PostReleaseRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostRequestHandlerExecuteAsync | オーバーロードされます。 指定した PostRequestHandlerExecute イベントを、現在の要求の非同期 PostRequestHandlerExecute イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostResolveRequestCacheAsync | オーバーロードされます。 指定した PostResolveRequestCache イベントを、現在の要求の非同期 PostResolveRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostUpdateRequestCacheAsync | オーバーロードされます。 指定した PostUpdateRequestCache イベントを、現在の要求の非同期 PostUpdateRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPreRequestHandlerExecuteAsync | オーバーロードされます。 指定した PreRequestHandlerExecute イベントを、現在の要求の非同期 PreRequestHandlerExecute イベント ハンドラのコレクションに追加します。 |
![]() | AddOnReleaseRequestStateAsync | オーバーロードされます。 指定した ReleaseRequestState イベントを、現在の要求の非同期 ReleaseRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnResolveRequestCacheAsync | オーバーロードされます。 指定した ResolveRequestCache イベント ハンドラを、現在の要求の非同期 ResolveRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | AddOnUpdateRequestCacheAsync | オーバーロードされます。 指定した UpdateRequestCache イベントを、現在の要求の非同期 UpdateRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | CompleteRequest | ASP.NET に実行の HTTP パイプライン チェイン内のすべてのイベントとフィルタ処理を省略させ、直接 EndRequest イベントを実行させます。 |
![]() | Dispose | HttpApplication インスタンスを破棄します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | GetVaryByCustomString | VaryByCustom プロパティのアプリケーション全体にわたる実装を提供します。 |
![]() | Init | イベント ハンドラ モジュールがすべて追加された後にカスタム初期化コードを実行します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Web.IHttpAsyncHandler.BeginProcessRequest | HTTP イベント ハンドラの非同期の呼び出しを開始します。 |
![]() | System.Web.IHttpAsyncHandler.EndProcessRequest | 処理の完了時に、非同期処理の End メソッドを提供します。 |
![]() | System.Web.IHttpHandler.ProcessRequest | IHttpHandler インターフェイスを実装するカスタム HTTP ハンドラによって、HTTP Web 要求の処理を有効にします。 |

HttpApplication メンバ
ASP.NET アプリケーション内のすべてのアプリケーション オブジェクトに共通のメソッド、プロパティ、およびイベントを定義します。このクラスはアプリケーションの基本クラスで、開発者が Global.asax ファイルで定義します。
HttpApplication データ型で公開されるメンバを以下の表に示します。




名前 | 説明 | |
---|---|---|
![]() | AddOnAcquireRequestStateAsync | オーバーロードされます。 指定した AcquireRequestState イベントを、現在の要求の非同期 AcquireRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnAuthenticateRequestAsync | オーバーロードされます。 指定した AuthenticateRequest イベントを、現在の要求の非同期 AuthenticateRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnAuthorizeRequestAsync | オーバーロードされます。 指定した AuthorizeRequest イベントを、現在の要求の非同期 AuthorizeRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnBeginRequestAsync | オーバーロードされます。 指定した BeginRequest イベントを、現在の要求の非同期 BeginRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnEndRequestAsync | オーバーロードされます。 指定した EndRequest イベントを、現在の要求の非同期 EndRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostAcquireRequestStateAsync | オーバーロードされます。 指定した PostAcquireRequestState イベントを、現在の要求の非同期 PostAcquireRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostAuthenticateRequestAsync | オーバーロードされます。 指定した AddOnPostAcquireRequestStateAsync イベントを、現在の要求の非同期 PostAuthenticateRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostAuthorizeRequestAsync | オーバーロードされます。 指定した PostAuthorizeRequest イベントを、現在の要求の非同期 PostAuthorizeRequest イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostMapRequestHandlerAsync | オーバーロードされます。 指定した PostMapRequestHandler イベントを、現在の要求の非同期 PostMapRequestHandler イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostReleaseRequestStateAsync | オーバーロードされます。 指定した PostReleaseRequestState イベントを、現在の要求の非同期 PostReleaseRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostRequestHandlerExecuteAsync | オーバーロードされます。 指定した PostRequestHandlerExecute イベントを、現在の要求の非同期 PostRequestHandlerExecute イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostResolveRequestCacheAsync | オーバーロードされます。 指定した PostResolveRequestCache イベントを、現在の要求の非同期 PostResolveRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPostUpdateRequestCacheAsync | オーバーロードされます。 指定した PostUpdateRequestCache イベントを、現在の要求の非同期 PostUpdateRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | AddOnPreRequestHandlerExecuteAsync | オーバーロードされます。 指定した PreRequestHandlerExecute イベントを、現在の要求の非同期 PreRequestHandlerExecute イベント ハンドラのコレクションに追加します。 |
![]() | AddOnReleaseRequestStateAsync | オーバーロードされます。 指定した ReleaseRequestState イベントを、現在の要求の非同期 ReleaseRequestState イベント ハンドラのコレクションに追加します。 |
![]() | AddOnResolveRequestCacheAsync | オーバーロードされます。 指定した ResolveRequestCache イベント ハンドラを、現在の要求の非同期 ResolveRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | AddOnUpdateRequestCacheAsync | オーバーロードされます。 指定した UpdateRequestCache イベントを、現在の要求の非同期 UpdateRequestCache イベント ハンドラのコレクションに追加します。 |
![]() | CompleteRequest | ASP.NET に実行の HTTP パイプライン チェイン内のすべてのイベントとフィルタ処理を省略させ、直接 EndRequest イベントを実行させます。 |
![]() | Dispose | HttpApplication インスタンスを破棄します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | GetVaryByCustomString | VaryByCustom プロパティのアプリケーション全体にわたる実装を提供します。 |
![]() | Init | イベント ハンドラ モジュールがすべて追加された後にカスタム初期化コードを実行します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |


名前 | 説明 | |
---|---|---|
![]() | System.Web.IHttpAsyncHandler.BeginProcessRequest | HTTP イベント ハンドラの非同期の呼び出しを開始します。 |
![]() | System.Web.IHttpAsyncHandler.EndProcessRequest | 処理の完了時に、非同期処理の End メソッドを提供します。 |
![]() | System.Web.IHttpHandler.ProcessRequest | IHttpHandler インターフェイスを実装するカスタム HTTP ハンドラによって、HTTP Web 要求の処理を有効にします。 |
![]() | System.Web.IHttpHandler.IsReusable | 別の要求で IHttpHandler オブジェクトを使用できるかどうかを示す Boolean 値を取得します。 |

- HttpApplicationのページへのリンク