マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

HttpApplication(Global.asax)HttpModuleHttpHandler等について。

https://docs.microsoft.com/ja-jp/aspnet/core/migration/http-modules/_static/moduleshandlers.png
引用:ttps://docs.microsoft.com/ja-jp/aspnet/core/migration/http-modules/_static/moduleshandlers.png

HttpApplication?(Global.asax)

HttpModule?

要求を傍受、参加、または変更できる。

HttpHandler?

ISAPI拡張機能に類似した機能。

詳細

ライフサイクル

HttpApplication(Global.asax)HttpModule

HttpHandler

イベント発生順序

★は初回のみ。

全体の初期処理

リクエストの開始処理

ページの開始処理

ページの終了処理

リクエストの終了処理

全体の終了処理

主要なイベントの説明

#イベント説明
1BeginRequest?リクエストを受信して最初に発生
2AuthenticateRequest?ASP.NETがユーザの認証処理の準備が完了したときに発生
3PostAuthenticateRequest?Post
4AuthorizeRequest?権限の承認処理の準備が完了したときに発生
5PostAuthorizeRequest?Post
6ResolveRequestCache?リクエストに対してキャッシュからレスポンスを生成するのかレスポンスを1から生成するのかを決定する
7PostResolveRequestCache?Post
8PostMapRequestHandler?現在の要求を適切なイベント ハンドラにマップすると発生
9AcquireRequestState?セッション変数の準備処理
10PostAcquireRequestState?Post
11PreRequestHandlerExecute?各ハンドラ実行直前に発生
12PostRequestHandlerExecute?各ハンドラ実行直後に発生
13ReleaserequestState?セッション変数などの値を更新・保存する
14PostReleaseRequestState?Post
15UpdateRequestCache?リクエストキャッシュの更新処理を行う
16PostUpdateRequestCache?Post
17EndRequest?クライアントのブラウザへデータを送信する直前に発生
18PreSendRequestHeaders?HTTP ヘッダーをクライアントに送信する直前に発生
19PreSendRequestContent?コンテンツをクライアントに送信する直前に発生

リライト

URL(Request)

URLの書き換えは、

行う。

ResponseBody?

ResponseBody?の書き換えは、HttpModuleでResponse.Filterにデコレートされた
ResponseStream?を設定することで行う(HttpApplicationHttpModule)。

ResponseHeader?

ResponseHeader?の書き換えは、
要求パイプライン中のPreSendRequestHeaders?ハンドラで行う(HttpApplicationHttpModule)。

参考

microsoft.com

support

docs

違い

HttpModule?HttpHandler?

HttpApplication?HttpModule?

その他

ライフサイクル

イベント発生順序

リライト


Tags: :.NET開発, :ASP.NET


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS