<OBJECT> 宣言
拡張 <OBJECT> タグを使用して、セッション スコープまたはアプリケーション スコープを持つオブジェクトを Global.asa ファイルに作成できます。このタグは独立していて、すべての <SCRIPT> タグの外側にあります。
Global.asa ファイルで宣言されたオブジェクトは、そのオブジェクトを呼び出すスクリプトをサーバーが処理するまで作成されません。必要なオブジェクトだけしか作成されないため、リソースの節約になります。
構文
<OBJECT RUNAT=Server SCOPE=Scope ID=Identifier {PROGID="progID"|CLASSID="ClassID"}>
. . .
</OBJECT>
パラメータ
- Scope
オブジェクトのスコープを指定します。Global.asa ファイルで、Scope は「Session」または「Application」に設定されます。 - Identifier
オブジェクト インスタンスの名前を指定します。 - progID
クラス識別子に関連付けられた識別子です。<OBJECT> タグには ProgID または ClassID を指定する必要があります。ProgID の形式は [Vendor.]Component[.Version] です。 - ClassID
COM クラス オブジェクトに対して一意の識別子を指定します。<OBJECT> タグには ProgID または ClassID を指定する必要があります。
例
以下の例のうち、最初の例では ProgID パラメータを使用して、セッション スコープの MyConnection
というオブジェクトを作成します。2 番目の例では、ClassID を使用します。
<OBJECT RUNAT=Server SCOPE=Session ID=MyConnection
PROGID="ADODB.Connection">
REM Object Script
</OBJECT>
<OBJECT RUNAT=Server SCOPE=Session ID=MyConnection
CLASSID="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
REM Object Script
</OBJECT>
解説
Global.asa で宣言されたオブジェクトは、アプリケーションの任意のスクリプトで使用できます。たとえば、次のオブジェクトを宣言したとします。
---GLOBAL.ASA---
<OBJECT RUNAT=Server SCOPE=Session ID=MyAd PROGID="MSWC.AdRotator">
</OBJECT>
この場合、MyAd
オブジェクトはアプリケーションの任意のページから参照できます。
---SOME.ASP---
<%= MyAd.GetAdvertisement("/ads/adrot.txt") %>