Global.asa リファレンス

Global ファイルは、イベント スクリプトの指定や、セッション スコープまたはアプリケーション スコープを持つオブジェクトの宣言ができる、省略可能なファイルです。このファイルはユーザーに表示するためのコンテンツ ファイルではなく、アプリケーションからグローバルに使用するイベント情報とオブジェクトを格納するものです。Global ファイルは、必ず Global.asa という名前でアプリケーションのルート ディレクトリに格納する必要があります。1 つのアプリケーションに Global.asa ファイルを 1 つだけ持たせることができます。

Global.asa ファイルには次の情報のみ格納できます。

Application イベント

Session イベント

<OBJECT> 宣言

<SCRIPT> タグで囲まれていないスクリプトや、セッション スコープまたはアプリケーション スコープを持っていないオブジェクトを定義するスクリプトを記述した場合は、サーバーからエラーが返されます。サーバーは、アプリケーション イベントやセッション イベントで使われないこのようなタグ付きスクリプトをどちらも無視し、ファイル内の HTML もすべて無視します。

Global.asa ファイルのスクリプトは、サポートされている任意のスクリプト言語で記述できます。複数のイベント スクリプトやオブジェクト スクリプトで同じスクリプト言語を使用している場合は、ファイル内部で <SCRIPT> タグを使って 1 つにまとめることができます。

Global.asa ファイルに変更を加えて保存すると、サーバーは現在のアプリケーション要求の処理をすべて完了してから、Global.asa ファイルを再コンパイルします。コンパイル中、サーバーは要求が追加されてもその処理を拒否し、"アプリケーションを再開している間は、要求を処理できません。" というメッセージを返します。

現在のユーザー要求の処理がすべて完了すると、サーバーはアクティブなセッションごとに Session_OnEnd イベントを呼び出してセッションをすべて削除し、アプリケーションを閉じて、Application_OnEnd イベントを呼び出します。そして、Global.asa ファイルを再コンパイルします。この後、別のユーザー要求によってアプリケーションが起動されて新しいセッションが作成され、Application_OnStart イベントと Session_OnStart イベントが発行されます。

ただし、Global.asa ファイルによってインクルードされるファイルに変更を加えた場合、サーバーは Global.asa を再コンパイルすることはありません。この場合、インクルード元のファイルの変更をサーバーに認識させるために、もう一度 Global.asa ファイルを保存する必要があります。

Global.asa ファイルで宣言したプロシージャは、Application_OnStartApplication_OnEndSession_OnStart、および Session_OnEnd の各イベントに関連付けられた 1 つ以上のスクリプトからのみ呼び出すことができます。これらのプロシージャは ASP 対応アプリケーションの ASP ページでは使用できません。

アプリケーション全体でプロシージャを共有するには、プロシージャを別のファイルで宣言しておき、サーバーサイド インクルード (SSI) ステートメントを使い、そのプロシージャを呼び出す ASP ページにそのファイルをインクルードします。通常、インクルード ファイルの拡張子は ".inc" です。

注意 このマニュアルのスクリプト例では、主要スクリプト言語として Microsoft(R) VisualBasic(R) Scripting Edition (VBScript) を使用しています。しかし、ASP スクリプトは、サポートされている JScript などのスクリプト言語でも記述できます。主要スクリプト言語の変更方法の詳細については、「Active Server Pages スクリプト ガイド」を参照してください。


(C) Microsoft Corporation. All rights reserved.