Global.asax ファイルでのモジュールの使用

ASP.NET には、各要求に参加して Global.asax で処理できるイベントを公開するいくつかのモジュールが用意されています。これらのモジュールは、自由にカスタマイズして拡張できます。また、まったく新しいカスタム モジュールを開発し、ASP.NET ベースのアプリケーションに対して発行された HTTP 要求に関する情報を処理することもできます。たとえば、アプリケーション全体の出力キャッシュの動作を実装する出力キャッシュ モジュールを作成できます。

すべてのモジュールには、カスタム モジュールでも .NET Framework によって提供されるモジュールでも、IHttpModule インターフェイスを実装する必要があります。これらのモジュールがアプリケーションに登録されている限り、アプリケーションが受信する HTTP 要求と簡単に対話できます。

HttpModule イベントの処理

Global.asax ファイルを使用して、要求内のモジュールによって公開されるイベントを処理できます。たとえば、OnAuthenticateRequest イベントを公開する ASP.NET Web アプリケーションのために、カスタム認証モジュールを作成できます。HTTPModule によって公開されているイベントを処理するコードを記述するときは、次の名前付けパターンに従う必要があります。

FriendlyModuleName_EventName(AppropriateEventArgumentSignature)

たとえば、セッションの開始時および終了時に呼び出されるイベント処理コードと、OnAuthenticateRequest イベントに対するイベント処理コードを含めるには、次のように記述します。

<Script language="VB" runat="server">
     Sub Session_OnStart()
         'Session start-up code goes here.
     End Sub
     Sub Session_OnEnd()
         'Session clean-up code goes here.
     End Sub
     Sub Application_OnAuthenticateRequest(Source As Object, Details as EventArgs)
         'Authentication code goes here.
     End Sub
</script>
[C#]
<Script language="C#" runat="server">
     void Session_OnStart() {
         // Session start-up code goes here.
     }
     void Session_OnEnd() {
         // Session clean-up code goes here.
     }
     void Application_OnAuthenticateRequest(Object Source, EventArgs Details) {
         // Authentication code goes here.
     }
</script>

参照

ASP.NET アプリケーション | IHttpModule インターフェイス