HttpApplication(Global.asax)、HttpModule、HttpHandler
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>ASP.NET]]
* 目次 [#fb580b25]
#contents
*概要 [#k90f9aad]
[[HttpApplication(Global.asax)>#t027c2c5]]、[[HttpModul...
https://docs.microsoft.com/ja-jp/aspnet/core/migration/ht...
引用:ttps://docs.microsoft.com/ja-jp/aspnet/core/migrati...
**HttpApplication(Global.asax) [#t027c2c5]
-共通の処理を定義する。
--メソッド
--プロパティ
--イベント
-Global.asax ファイルで定義する。
-[[ライフサイクル>#s4cd94aa]]
**HttpModule [#kaf9efb5]
要求を傍受、参加、または変更できる。
-[[HttpHandler>#w0840a2b]]の実行前と実行後に呼び出される。
-インターフェイス IHttpModule を実装する。
-[[ライフサイクル>#s4cd94aa]]
**HttpHandler [#w0840a2b]
[[ISAPI>ISAPI、HttpPlatformHandler#u77f13ce]]拡張機能に類...
-個々のエンドポイント要求を処理するために使用する。
-要求を処理するために使用されるハンドラーは 1 つのみ。
-インターフェイス IHttpHandler を実装する。
-アプリ内の HTTP URL または URL 拡張機能のグループを処理...
-[[ライフサイクル>#ae794ab7]]
*詳細 [#x6b0fbdf]
-[[イベント発生順序>#y5a64f74]]に興味が行きがちだが、~
[[ライフサイクル>#kac2a827]]に思わぬ落とし穴があるので要...
-また、[[HttpModule>#kaf9efb5]]、[[HttpHandler>#w0840a2b]...
[[HTTPのリクエスト・レスポンスの書き換え>#q8503f50]]につ...
**ライフサイクル [#kac2a827]
***[[HttpApplication(Global.asax)>#t027c2c5]]、[[HttpMo...
-同時実行数に合わせてインスタンス化される。
-リクエスト-レスポンス間は専有する(メンバはスレッドセー...
-インスタンス化されたオブジェクトは複数ユーザ間で使いまわ...
-なお、[[HttpApplication>#t027c2c5]]と[[HttpModule>#kaf9e...
--HttpApplication
---アプリケーションレベルのイベント
---リクエストレベルのイベント
--HttpModule
---リクエストレベルのイベント
***[[HttpHandler>#w0840a2b]] [#ae794ab7]
-リクエストの都度、IHttpHandlerFactoryによって、[[HttpHan...
-<httpHandlers>の定義に従って、拡張子やGET,POSTなどに応じ...
**イベント発生順序 [#y5a64f74]
★は初回のみ。
***全体の初期処理 [#e3028dc0]
-Global.Application_Start ★
-IHTTPModule
--Constructor ★
--IHTTPModule.Init ★
***リクエストの開始処理 [#a90467bf]
-BeginRequest
--Global.BeginRequest
--IHTTPModule.BeginRequest
--Global.Application_BeginRequest
-Global.DefaultAuthentication
-AuthenticateRequest
--Global.AuthenticateRequest
--IHTTPModule.AuthenticateRequest
--Global.Application_AuthenticateRequest
-PostAuthenticateRequest
--Global.PostAuthenticateRequest
--IHTTPModule.PostAuthenticateRequest
-AuthorizeRequest
--Global.AuthorizeRequest
--IHTTPModule.AuthorizeRequest
-PostAuthorizeRequest
--Global.PostAuthorizeRequest
--IHTTPModule.PostAuthorizeRequest
-ResolveRequestCache
--Global.ResolveRequestCache
--IHTTPModule.ResolveRequestCache
-PostResolveRequestCache
--Global.PostResolveRequestCache
--IHTTPModule.PostResolveRequestCache
-Page.Constructor
-PostMapRequestHandler
--Global.PostMapRequestHandler
--IHTTPModule.PostMapRequestHandler
-Global.Session_Start ★
-AcquireRequestState
--Global.AcquireRequestState
--IHTTPModule.AcquireRequestState
-PostAcquireRequestState
--Global.PostAcquireRequestState
--IHTTPModule.PostAcquireRequestState
-PreRequestHandlerExecute
--Global.PreRequestHandlerExecute
--IHTTPModule.PreRequestHandlerExecute
***ページの開始処理 [#ed22d61a]
-Page.PreInit
-MasterPage.Constructor
-Init
--MasterPage.ContentPlaceHolder
--MasterPage
--Page
-Page
--InitComplete
--PreLoad
-Load
--Page
--MasterPage
--MasterPage.ContentPlaceHolder
-Page
--Page.LoadComplete
***ページの終了処理 [#z1fda17a]
-PreRender
--Page
--MasterPage
--MasterPage.ContentPlaceHolder
-Page
--PreRenderComplete
--SaveStateComplete
-Unload
--MasterPage.ContentPlaceHolder
--MasterPage
--Page
***リクエストの終了処理 [#b2c3e5d7]
-PostRequestHandlerExecute
--Global.PostRequestHandlerExecute
--IHTTPModule.PostRequestHandlerExecute
-ReleaseRequestState
--Global.ReleaseRequestState
--IHTTPModule.ReleaseRequestState
-PostReleaseRequestState
--Global.PostReleaseRequestState
--IHTTPModule.PostReleaseRequestState
-UpdateRequestCache
--Global.UpdateRequestCache
--IHTTPModule.UpdateRequestCache
-PostUpdateRequestCache
--Global.PostUpdateRequestCache
--IHTTPModule.PostUpdateRequestCache
-EndRequest
--Global.EndRequest
--IHTTPModule.EndRequest
-PreSendRequestHeaders
--Global.PreSendRequestHeaders
--IHTTPModule.PreSendRequestHeaders
-PreSendRequestContent
--Global.PreSendRequestContent
--IHTTPModule.PreSendRequestContent
***全体の終了処理 [#z3bcd6bb]
-Global.Session_End ★
-IHTTPModule.Dispose ★
-Global.Application_End ★
***主要なイベントの説明 [#abc2a6da]
|#|イベント|説明|
|1|BeginRequest|リクエストを受信して最初に発生|
|2|AuthenticateRequest|ASP.NETがユーザの認証処理の準備が...
|3|PostAuthenticateRequest|Post|
|4|AuthorizeRequest|権限の承認処理の準備が完了したときに...
|5|PostAuthorizeRequest|Post|
|6|ResolveRequestCache|リクエストに対してキャッシュからレ...
|7|PostResolveRequestCache|Post|
|8|PostMapRequestHandler|現在の要求を適切なイベント ハン...
|9|AcquireRequestState|セッション変数の準備処理|
|10|PostAcquireRequestState|Post|
|11|PreRequestHandlerExecute|各ハンドラ実行直前に発生|
|12|PostRequestHandlerExecute|各ハンドラ実行直後に発生|
|13|ReleaserequestState|セッション変数などの値を更新・保...
|14|PostReleaseRequestState|Post|
|15|UpdateRequestCache|リクエストキャッシュの更新処理を行...
|16|PostUpdateRequestCache|Post|
|17|EndRequest|クライアントのブラウザへデータを送信する直...
|18|PreSendRequestHeaders|HTTP ヘッダーをクライアントに送...
|19|PreSendRequestContent|コンテンツをクライアントに送信...
**リライト [#q8503f50]
-リライト ≒ URLの書き換えは[[HttpHandler>#w0840a2b]]でも...
-その他の書き換え処理は、要求パイプラインに~
モジュールを「プラグイン」できる[[HttpModule>#kaf9efb5]]...
***URL(Request) [#occ44c06]
URLの書き換えは、
-[[HttpHandler>#w0840a2b]]か、
-要求パイプライン中のApplication_BeginRequestハンドラで(...
行う。
-参考
--URL書き換え(Rewriting)を行う - Netplanetes~
http://www.pine4.net/Memo/Article/Archives/11
***ResponseBody [#ld452c0e]
ResponseBodyの書き換えは、[[HttpModule>#kaf9efb5]]でRespo...
ResponseStreamを設定することで行う([[HttpApplication>#t0...
-参考
--HttpRequestのパラメータに小細工をしたい時にどうするか(...
http://d.hatena.ne.jp/machi_pon/20091203/1259842545
***ResponseHeader [#ca190294]
ResponseHeaderの書き換えは、~
要求パイプライン中のPreSendRequestHeadersハンドラで行う(...
-参考
--IIS7 の機能を拡張してみる-レスポンスヘッダー内のサーバ...
https://blogs.msdn.microsoft.com/osamum/2010/04/05/iis7-2/
--IIS 7/7.5 で不要なHTTPレスポンスヘッダーを削除 « Fukui ...
http://blog.progfast.jp/labs/index.php/arts/iis-7-httpres...
*参考 [#h7d2abfd]
**microsoft.com [#w1fa2170]
***support [#r412a1f4]
-[INFO] ASP.NET のアプリケーション インスタンス、アプリケ...
https://support.microsoft.com/ja-jp/help/312607/info-appl...
-[INFO] ASP.NET の HTTP モジュールと HTTP ハンドラの概要~
https://support.microsoft.com/ja-jp/help/307985/info-asp-...
-Visual C# .NET を使用して ASP.NET HTTP モジュールを作成...
https://support.microsoft.com/ja-jp/help/307996/how-to-cr...
***docs [#xf8dd519]
-HttpApplication クラス (System.Web)~
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.ht...
-IHttpModule インターフェイス (System.Web)~
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.ih...
-IHttpHandler インターフェイス (System.Web)~
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.ih...
-ASP.NETHTTP モジュールとハンドラー - ASP.NET~
https://docs.microsoft.com/ja-jp/troubleshoot/aspnet/http...
-HTTP ハンドラーとモジュールをミドルウェアに ASP.NET Core...
https://docs.microsoft.com/ja-jp/aspnet/core/migration/ht...
**違い [#k247fbea]
***HttpModuleとHttpHandler [#bf446e40]
-HTTP handler vs HTTP module - Stack Overflow~
https://stackoverflow.com/questions/6449132/http-handler-...
-Difference between ASP.NET HttpHandler and HttpModule~
http://www.c-sharpcorner.com/blogs/difference-between-asp...
***HttpApplicationとHttpModule [#t8d8d900]
-asp.net - What is the difference between HttpApplication...
https://stackoverflow.com/questions/4850056/what-is-the-d...
**その他 [#y91234a0]
***ライフサイクル [#nb244480]
-ASP.NETのライフサイクルの仕組み~
http://article.higlabo.com/ja/asp_net_life_cycle.html
***イベント発生順序 [#pad23038]
-ASP.NET のイベント発生順序 – MiYABiS note.~
http://note.miyabis.jp/2009/11/33503965.html
***リライト [#d339826d]
-ブログ表示(3) -クラスライブラリ | ++C++; // 未確認飛...
http://ufcpp.net/study/dotnet/aspx/blog3/
-URLのリダイレクト~
http://uchukamen.com/ASPNET20/URLRedirect/index.htm
----
Tags: [[:.NET開発]], [[:ASP.NET]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>ASP.NET]]
* 目次 [#fb580b25]
#contents
*概要 [#k90f9aad]
[[HttpApplication(Global.asax)>#t027c2c5]]、[[HttpModul...
https://docs.microsoft.com/ja-jp/aspnet/core/migration/ht...
引用:ttps://docs.microsoft.com/ja-jp/aspnet/core/migrati...
**HttpApplication(Global.asax) [#t027c2c5]
-共通の処理を定義する。
--メソッド
--プロパティ
--イベント
-Global.asax ファイルで定義する。
-[[ライフサイクル>#s4cd94aa]]
**HttpModule [#kaf9efb5]
要求を傍受、参加、または変更できる。
-[[HttpHandler>#w0840a2b]]の実行前と実行後に呼び出される。
-インターフェイス IHttpModule を実装する。
-[[ライフサイクル>#s4cd94aa]]
**HttpHandler [#w0840a2b]
[[ISAPI>ISAPI、HttpPlatformHandler#u77f13ce]]拡張機能に類...
-個々のエンドポイント要求を処理するために使用する。
-要求を処理するために使用されるハンドラーは 1 つのみ。
-インターフェイス IHttpHandler を実装する。
-アプリ内の HTTP URL または URL 拡張機能のグループを処理...
-[[ライフサイクル>#ae794ab7]]
*詳細 [#x6b0fbdf]
-[[イベント発生順序>#y5a64f74]]に興味が行きがちだが、~
[[ライフサイクル>#kac2a827]]に思わぬ落とし穴があるので要...
-また、[[HttpModule>#kaf9efb5]]、[[HttpHandler>#w0840a2b]...
[[HTTPのリクエスト・レスポンスの書き換え>#q8503f50]]につ...
**ライフサイクル [#kac2a827]
***[[HttpApplication(Global.asax)>#t027c2c5]]、[[HttpMo...
-同時実行数に合わせてインスタンス化される。
-リクエスト-レスポンス間は専有する(メンバはスレッドセー...
-インスタンス化されたオブジェクトは複数ユーザ間で使いまわ...
-なお、[[HttpApplication>#t027c2c5]]と[[HttpModule>#kaf9e...
--HttpApplication
---アプリケーションレベルのイベント
---リクエストレベルのイベント
--HttpModule
---リクエストレベルのイベント
***[[HttpHandler>#w0840a2b]] [#ae794ab7]
-リクエストの都度、IHttpHandlerFactoryによって、[[HttpHan...
-<httpHandlers>の定義に従って、拡張子やGET,POSTなどに応じ...
**イベント発生順序 [#y5a64f74]
★は初回のみ。
***全体の初期処理 [#e3028dc0]
-Global.Application_Start ★
-IHTTPModule
--Constructor ★
--IHTTPModule.Init ★
***リクエストの開始処理 [#a90467bf]
-BeginRequest
--Global.BeginRequest
--IHTTPModule.BeginRequest
--Global.Application_BeginRequest
-Global.DefaultAuthentication
-AuthenticateRequest
--Global.AuthenticateRequest
--IHTTPModule.AuthenticateRequest
--Global.Application_AuthenticateRequest
-PostAuthenticateRequest
--Global.PostAuthenticateRequest
--IHTTPModule.PostAuthenticateRequest
-AuthorizeRequest
--Global.AuthorizeRequest
--IHTTPModule.AuthorizeRequest
-PostAuthorizeRequest
--Global.PostAuthorizeRequest
--IHTTPModule.PostAuthorizeRequest
-ResolveRequestCache
--Global.ResolveRequestCache
--IHTTPModule.ResolveRequestCache
-PostResolveRequestCache
--Global.PostResolveRequestCache
--IHTTPModule.PostResolveRequestCache
-Page.Constructor
-PostMapRequestHandler
--Global.PostMapRequestHandler
--IHTTPModule.PostMapRequestHandler
-Global.Session_Start ★
-AcquireRequestState
--Global.AcquireRequestState
--IHTTPModule.AcquireRequestState
-PostAcquireRequestState
--Global.PostAcquireRequestState
--IHTTPModule.PostAcquireRequestState
-PreRequestHandlerExecute
--Global.PreRequestHandlerExecute
--IHTTPModule.PreRequestHandlerExecute
***ページの開始処理 [#ed22d61a]
-Page.PreInit
-MasterPage.Constructor
-Init
--MasterPage.ContentPlaceHolder
--MasterPage
--Page
-Page
--InitComplete
--PreLoad
-Load
--Page
--MasterPage
--MasterPage.ContentPlaceHolder
-Page
--Page.LoadComplete
***ページの終了処理 [#z1fda17a]
-PreRender
--Page
--MasterPage
--MasterPage.ContentPlaceHolder
-Page
--PreRenderComplete
--SaveStateComplete
-Unload
--MasterPage.ContentPlaceHolder
--MasterPage
--Page
***リクエストの終了処理 [#b2c3e5d7]
-PostRequestHandlerExecute
--Global.PostRequestHandlerExecute
--IHTTPModule.PostRequestHandlerExecute
-ReleaseRequestState
--Global.ReleaseRequestState
--IHTTPModule.ReleaseRequestState
-PostReleaseRequestState
--Global.PostReleaseRequestState
--IHTTPModule.PostReleaseRequestState
-UpdateRequestCache
--Global.UpdateRequestCache
--IHTTPModule.UpdateRequestCache
-PostUpdateRequestCache
--Global.PostUpdateRequestCache
--IHTTPModule.PostUpdateRequestCache
-EndRequest
--Global.EndRequest
--IHTTPModule.EndRequest
-PreSendRequestHeaders
--Global.PreSendRequestHeaders
--IHTTPModule.PreSendRequestHeaders
-PreSendRequestContent
--Global.PreSendRequestContent
--IHTTPModule.PreSendRequestContent
***全体の終了処理 [#z3bcd6bb]
-Global.Session_End ★
-IHTTPModule.Dispose ★
-Global.Application_End ★
***主要なイベントの説明 [#abc2a6da]
|#|イベント|説明|
|1|BeginRequest|リクエストを受信して最初に発生|
|2|AuthenticateRequest|ASP.NETがユーザの認証処理の準備が...
|3|PostAuthenticateRequest|Post|
|4|AuthorizeRequest|権限の承認処理の準備が完了したときに...
|5|PostAuthorizeRequest|Post|
|6|ResolveRequestCache|リクエストに対してキャッシュからレ...
|7|PostResolveRequestCache|Post|
|8|PostMapRequestHandler|現在の要求を適切なイベント ハン...
|9|AcquireRequestState|セッション変数の準備処理|
|10|PostAcquireRequestState|Post|
|11|PreRequestHandlerExecute|各ハンドラ実行直前に発生|
|12|PostRequestHandlerExecute|各ハンドラ実行直後に発生|
|13|ReleaserequestState|セッション変数などの値を更新・保...
|14|PostReleaseRequestState|Post|
|15|UpdateRequestCache|リクエストキャッシュの更新処理を行...
|16|PostUpdateRequestCache|Post|
|17|EndRequest|クライアントのブラウザへデータを送信する直...
|18|PreSendRequestHeaders|HTTP ヘッダーをクライアントに送...
|19|PreSendRequestContent|コンテンツをクライアントに送信...
**リライト [#q8503f50]
-リライト ≒ URLの書き換えは[[HttpHandler>#w0840a2b]]でも...
-その他の書き換え処理は、要求パイプラインに~
モジュールを「プラグイン」できる[[HttpModule>#kaf9efb5]]...
***URL(Request) [#occ44c06]
URLの書き換えは、
-[[HttpHandler>#w0840a2b]]か、
-要求パイプライン中のApplication_BeginRequestハンドラで(...
行う。
-参考
--URL書き換え(Rewriting)を行う - Netplanetes~
http://www.pine4.net/Memo/Article/Archives/11
***ResponseBody [#ld452c0e]
ResponseBodyの書き換えは、[[HttpModule>#kaf9efb5]]でRespo...
ResponseStreamを設定することで行う([[HttpApplication>#t0...
-参考
--HttpRequestのパラメータに小細工をしたい時にどうするか(...
http://d.hatena.ne.jp/machi_pon/20091203/1259842545
***ResponseHeader [#ca190294]
ResponseHeaderの書き換えは、~
要求パイプライン中のPreSendRequestHeadersハンドラで行う(...
-参考
--IIS7 の機能を拡張してみる-レスポンスヘッダー内のサーバ...
https://blogs.msdn.microsoft.com/osamum/2010/04/05/iis7-2/
--IIS 7/7.5 で不要なHTTPレスポンスヘッダーを削除 « Fukui ...
http://blog.progfast.jp/labs/index.php/arts/iis-7-httpres...
*参考 [#h7d2abfd]
**microsoft.com [#w1fa2170]
***support [#r412a1f4]
-[INFO] ASP.NET のアプリケーション インスタンス、アプリケ...
https://support.microsoft.com/ja-jp/help/312607/info-appl...
-[INFO] ASP.NET の HTTP モジュールと HTTP ハンドラの概要~
https://support.microsoft.com/ja-jp/help/307985/info-asp-...
-Visual C# .NET を使用して ASP.NET HTTP モジュールを作成...
https://support.microsoft.com/ja-jp/help/307996/how-to-cr...
***docs [#xf8dd519]
-HttpApplication クラス (System.Web)~
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.ht...
-IHttpModule インターフェイス (System.Web)~
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.ih...
-IHttpHandler インターフェイス (System.Web)~
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.ih...
-ASP.NETHTTP モジュールとハンドラー - ASP.NET~
https://docs.microsoft.com/ja-jp/troubleshoot/aspnet/http...
-HTTP ハンドラーとモジュールをミドルウェアに ASP.NET Core...
https://docs.microsoft.com/ja-jp/aspnet/core/migration/ht...
**違い [#k247fbea]
***HttpModuleとHttpHandler [#bf446e40]
-HTTP handler vs HTTP module - Stack Overflow~
https://stackoverflow.com/questions/6449132/http-handler-...
-Difference between ASP.NET HttpHandler and HttpModule~
http://www.c-sharpcorner.com/blogs/difference-between-asp...
***HttpApplicationとHttpModule [#t8d8d900]
-asp.net - What is the difference between HttpApplication...
https://stackoverflow.com/questions/4850056/what-is-the-d...
**その他 [#y91234a0]
***ライフサイクル [#nb244480]
-ASP.NETのライフサイクルの仕組み~
http://article.higlabo.com/ja/asp_net_life_cycle.html
***イベント発生順序 [#pad23038]
-ASP.NET のイベント発生順序 – MiYABiS note.~
http://note.miyabis.jp/2009/11/33503965.html
***リライト [#d339826d]
-ブログ表示(3) -クラスライブラリ | ++C++; // 未確認飛...
http://ufcpp.net/study/dotnet/aspx/blog3/
-URLのリダイレクト~
http://uchukamen.com/ASPNET20/URLRedirect/index.htm
----
Tags: [[:.NET開発]], [[:ASP.NET]]
ページ名: