誰かがサイトまたはページを知っていますか、HTTPModuleイベントを実行するためのHTTPApplicationクラスのイベントの実行順序を知っていますか?
すべてのイベントで MSDN Documentation を見つけましたが、プロセスステップのリストが表示されず、見つけることができませんでした。
たぶんこれは役立ちます
http://support.Microsoft.com/kb/307985/en-us/
HttpApplicationクラスは、モジュールが同期できる多数のイベントを提供します。次のイベントは、モジュールが各リクエストで同期するために利用可能です。これらのイベントは順番にリストされています。
次のイベントは、モジュールがリクエスト送信ごとに同期するために利用可能です。これらのイベントの順序は非決定的です。
詳細については、記事を参照してください。
MSDNライブラリのドキュメント:
ASP.NET 4.0のリクエストパイプラインのイベント(太字)とその他の手順は次のとおりです。
- リクエストを検証します。リクエストはブラウザから送信された情報を調べ、潜在的に悪意のあるマークアップが含まれているかどうかを判断します。
- Web.configファイルのUrlMappingsSectionセクションでURLが構成されている場合は、URLマッピングを実行します。
- BeginRequestイベントを発生させます。
- AuthenticateRequestイベントを発生させます。
- PostAuthenticateRequestイベントを発生させます。
- AuthorizeRequestイベントを発生させます。
- PostAuthorizeRequestイベントを発生させます。
- ResolveRequestCacheイベントを発生させます。
- PostResolveRequestCacheイベントを発生させます。
- [IIS 5.0/6.0]要求されたリソース(アプリケーションの構成ファイルにマッピングされている)のファイル名拡張子に基づいて、IHttpHandlerを実装するクラスを選択します。リクエストを処理します。 Pageクラスから派生したオブジェクト(ページ)に対する要求であり、ページをコンパイルする必要がある場合、ASP.NETはインスタンスを作成する前にページをコンパイルします。 [IIS 7.0]MapRequestHandlerイベントを発生させます。要求されたリソースのファイル名拡張子に基づいて、適切なハンドラーが選択されます。ハンドラーは、IIS 7.0 StaticFileModuleなどのネイティブコードモジュール、またはPageHandlerFactoryクラス(.aspxファイルを処理する)などのマネージコードモジュールです。
- PostMapRequestHandlerイベントを発生させます。
- AcquireRequestStateイベントを発生させます。
- PostAcquireRequestStateイベントを発生させます。
- PreRequestHandlerExecuteイベントを発生させます。
- 要求に適切なIHttpHandlerクラスのProcessRequestメソッド(または非同期バージョンのIHttpAsyncHandler.BeginProcessRequest)を呼び出します。たとえば、リクエストがページに対するものである場合、現在のページインスタンスがリクエストを処理します。
- PostRequestHandlerExecuteイベントを発生させます。
- ReleaseRequestStateイベントを発生させます。
- PostReleaseRequestStateイベントを発生させます。
- Filterプロパティが定義されている場合、応答フィルタリングを実行します。
- UpdateRequestCacheイベントを発生させます。
- PostUpdateRequestCacheイベントを発生させます。
- [IIS 7.0]LogRequestイベントを発生させます。
- [IIS 7.0]PostLogRequestイベントを発生させます。
- EndRequestイベントを発生させます。
- PreSendRequestHeadersイベントを発生させます。
- PreSendRequestContentイベントを発生させます。
注:MapRequestHandler、LogRequest、およびPostLogRequestイベントは、アプリケーションがIIS 7.0および.NET Framework 3.0以降で統合モードで実行されている場合にのみサポートされます。
HttpmoduleのPreSendRequestContentイベントでキャッシュするためのメソッドを呼び出したい。問題は、アプリケーションにクライアントの要件ごとに追加されたWebヘッダーとフッターがあり、そのコンテンツイメージ、javascript、cssをキャッシュできないことです。現在、httpmoduleのReleaseRequestStateメソッドを使用しています。
受け入れられた答えは古くなっています。 ドキュメント に従って発生したイベントのリストを次に示します。
BeginRequest
AuthenticateRequest
PostAuthenticateRequest
AuthorizeRequest
PostAuthorizeRequest
ResolveRequestCache
PostResolveRequestCache
PostResolveRequestCacheイベントの後、PostMapRequestHandlerイベントの前に、イベントハンドラー(要求URLに対応するページ)が作成されます。サーバーが実行中の場合IIS 7.0統合モードで少なくとも.NET Frameworkバージョン3.0の場合、MapRequestHandlerイベントが発生します。サーバーが実行中の場合IIS 7.0のクラシックモードまたは以前のバージョンのIISでは、このイベントは処理できません。
PostMapRequestHandler
AcquireRequestState
PostAcquireRequestState
PreRequestHandlerExecute
PostRequestHandlerExecute
ReleaseRequestState
PostReleaseRequestState
UpdateRequestCache
PostUpdateRequestCache
LogRequest
PostLogRequest
EndRequest