You can create objects with session or application scope in the Global.asa file by using the extended <OBJECT> tag. This tag is self-contained and is outside of any <SCRIPT> tags.
The objects declared in the Global.asa file are not created until the server processes a script that calls that object. This saves resources by creating only the objects that are needed.
The server does not call the OnStartPage and OnEndPage methods for objects created with application scope.
<OBJECT RUNAT=Server SCOPE=Scope ID=Identifier {PROGID="progID"|CLASSID="ClassID"}>
. . .
</OBJECT>
The first of the following examples creates an object of session scope named MyConnection
by using the ProgID parameter. The second example uses the ClassID parameter.
<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>
The objects declared in the Global.asa file can be used by any script in the application. For example, if you declared the following object.
---GLOBAL.ASA---
<OBJECT RUNAT=Server SCOPE=Session ID=MyAd PROGID="MSWC.AdRotator">
</OBJECT>
You could reference the object MyAd
from any page in the application:
---SOME.ASP---
<%= MyAd.GetAdvertisement("/ads/adrot.txt") %>