asp.netのglobal.asaxの目的は何ですか


回答:


119

MSDNには、 global.asaxファイルの目的の概要があります。

事実上、global.asaxを使用すると、アプリケーションの開始、セッションの終了、アプリケーションエラーの発生など、システムレベルのイベントに応答して実行されるコードを記述できます。あなたのサイトのページ。

Visual Studioで[追加]> [新しい項目]> [グローバルアプリケーションクラス]を選択することにより、これを使用できます。ファイルを追加したら、リストされている(そして、少なくともVisual Studio 2008ではデフォルトで作成されている)イベントのいずれかにコードを追加できます。

  • Application_Start
  • Application_End
  • セッション開始
  • セッション終了
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • アプリケーションエラー

「LogRequest」など、他にもフックできるイベントがあります。


2
global.asaxのエントリがウィキペディアから削除されました。
キャシーサリバン

Windowsフォームにglobal.asaxファイルを追加できますか?
Jeeva Jsb 2015年

@JeevaJsb、いいえ。global.asaxの内容は(一般的に)IIS / ASP.netアプリケーションのライフサイクルによってトリガーされるイベントであるため、WinFormsアプリケーションでコードをトリガーするものは何もありません。
Rob

なぜHttpApplicationクラスから継承するコードだけではなく、asaxファイルを必要としないのでしょうか。global.asax.csにはすべてのものが含まれているため、この<%@ Application Codebehind = "Global.asax.cs" Inherits = "XXXXX" Language = "C#"%>のみを含む特定のasaxファイルが必要な理由
シンプルフェロー

67

グローバルアサックスイベントの説明

Application_Init:アプリケーションが初期化または最初に呼び出されたときに発生します。すべてのHttpApplicationオブジェクトインスタンスに対して呼び出されます。

Application_Disposed:アプリケーションが破棄される直前に発生します。これは、以前に使用したリソースをクリーンアップするための理想的な場所です。

Application_Error:アプリケーション内で未処理の例外が発生したときに発生します。

Application_Start: HttpApplicationクラスの最初のインスタンスが作成されたときに発生します。これにより、すべてのHttpApplicationインスタンスからアクセス可能なオブジェクトを作成できます。

Application_End: HttpApplicationクラスの最後のインスタンスが破棄されたときに発生します。アプリケーションの存続期間中に1回だけ発生します。

Application_BeginRequest:アプリケーション要求が受信されたときに発生します。これは、多くの場合ユーザーが入力するページリクエスト(URL)であるリクエストに対して発生する最初のイベントです。

Application_EndRequest:アプリケーション要求に対して発生した最後のイベント。

Application_PreRequestHandlerExecute: ASP.NETページフレームワークがページやWebサービスのようなイベントハンドラーの実行を開始する前に発生します。

Application_PostRequestHandlerExecute: ASP.NETページフレームワークがイベントハンドラーの実行を終了すると発生します。

Applcation_PreSendRequestHeaders: ASP.NETページフレームワークがHTTPヘッダーを要求側クライアント(ブラウザー)に送信する前に発生します。

Application_PreSendContent: ASP.NETページフレームワークがコンテンツを要求側クライアント(ブラウザー)に送信する前に発生します。

Application_AcquireRequestState: ASP.NETページフレームワークが、現在の要求に関連する現在の状態(セッション状態)を取得したときに発生します。

Application_ReleaseRequestState: ASP.NETページフレームワークがすべてのイベントハンドラーの実行を完了すると発生します。これにより、すべての状態モジュールが現在の状態データを保存します。

Application_ResolveRequestCache: ASP.NETページフレームワークが承認要求を完了すると発生します。これにより、キャッシングモジュールがキャッシュからのリクエストを処理できるようになり、ハンドラーの実行がバイパスされます。

Application_UpdateRequestCache: ASP.NETページフレームワークがハンドラーの実行を完了したときに発生し、キャッシュモジュールが後続の要求を処理するために使用される応答を格納できるようにします。

Application_AuthenticateRequest:セキュリティモジュールが現在のユーザーのIDを有効であると確立したときに発生します。この時点で、ユーザーの資格情報は検証されています。

Application_AuthorizeRequest:ユーザーがリソースにアクセスできることをセキュリティモジュールが確認したときに発生します。

Session_Start:新しいユーザーがアプリケーションのWebサイトにアクセスすると発生します。

Session_End:ユーザーのセッションがタイムアウト、終了、またはアプリケーションのWebサイトを離れたときに発生します。


11

ASP.NETアプリケーションファイルとも呼ばれるGlobal.asaxファイルは、ASP.NETまたはHTTPモジュールによって発生したアプリケーションレベルおよびセッションレベルのイベントに応答するためのコードを含むオプションファイルです。

http://msdn.microsoft.com/en-us/library/2027ewzw.aspx


6

Global.asaxはasp.netアプリケーションファイルです。

ASP.NETまたはHttpModulesによって発生したイベントを処理するオプションのファイルです。主に、アプリケーションとセッションの開始/終了イベント、およびグローバルエラー処理に使用されます。

使用する場合は、Webサイトのルートにある必要があります。


3

Webアプリケーションのルートディレクトリには特別な意味があり、特定のコンテンツがそのフォルダーに存在する場合があります。「Global.asax」と呼ばれる特別なファイルを持つことができます。ASP.Netフレームワークは、global.asaxのコンテンツを使用して、HttpApplicationから継承された実行時にクラスを作成します。アプリケーションの有効期間中、ASP.NETはGlobal.asaxから派生したHttpApplicationインスタンスのプールを維持します。アプリケーションがhttp要求を受信すると、ASP.Netページフレームワークはこれらのインスタンスの1つを割り当てて、その要求を処理します。そのインスタンスは、割り当てられたリクエストの全ライフタイムを管理する責任があり、インスタンスが再利用できるのは、リクエストがプールに戻されて完了した後でのみです。Global.asaxのインスタンスメンバーは、要求間でデータを共有するために使用できませんが、静的メンバーは使用できます。グローバル。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.