<OBJECT> 声明用户可以在 global.asa 文件中通过使用扩展的 <OBJECT> 标记创建带有会话或应用程序作用域的对象。该标记是自包含的,且
在任何 <SCRIPT> 标记之外。在 Global.asa 文件中声明的对象在服务器处理调用该对象之前是不会创建的。这样就只会创建必需的对象,从而节约了资源。
服务器对带有应用程序作用域参数创建的对象不调用 OnStartPage 和 OnEndPage 方法。语法
<OBJECT RUNAT=Server SCOPE=Scope ID=Identifier {PROGID="progID"|CLASSID="ClassID"}>. . .
</OBJECT> 参数Scope 指定对象的作用域。在 Global.asa 文件中,Scope 将被设置为 Session 或 Application。
Identifier 指定对象实例的名称。ProgID
与类标识相关的标识。无论 ProgID 还是 ClassID 都必须在 <OBJECT> 中指定。ProgID 的格式为 [Vendor.]Component
[.Version]。ClassID 指定 COM 类对象的唯一标识。 无论 ProgID 还是 ClassID 都必须在 <OBJECT> 中指定。 示例
下面的第一个示例使用 ProgID 参数创建一个对象,其会话作用域名为 MyConnection。第二个示例使用 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") %>
……