日期:2012-12-31  浏览次数:20880 次

<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") %>