ASP 应用对象


一组协同工作以执行某种目的的 ASP 文件称为应用程序。


应用对象

Web 上的应用程序可能由多个 ASP 文件组成,这些文件协同工作以执行某些目的。 Application 对象用于将这些文件连接在一起。

Application 对象用于存储和访问任何页面的变量,就像 Session 对象一样。区别在于所有用户共享一个应用程序对象(对于会话,每个用户都有一个会话对象)。

Application 对象保存将由应用程序中的许多页面使用的信息(例如数据库连接信息)。可以从任何页面访问该信息。信息也可以在一处进行更改,更改将自动反映在所有页面上。


存储和检索应用程序变量

应用程序变量可以由应用程序中的任何页面访问和更改。

您可以在 "Global.asa" 中创建应用程序变量,如下所示:

<script language="vbscript" runat="server">

Sub Application_OnStart
application("vartime")=""
application("users")=1
End Sub

</script>

在上面的示例中,我们创建了两个应用程序变量:"vartime" 和 "users"。

您可以像这样访问应用程序变量的值:

There are
<%
Response.Write(Application("users"))
%>
active connections.


循环浏览内容集合

Contents 集合包含所有应用程序变量。您可以循环遍历 Contents 集合,查看其中存储的内容:

<%
dim i
For Each i in Application.Contents
  Response.Write(i & "<br>")
Next
%>

如果您不知道 Contents 集合中的项目数,可以使用 Count 属性:

<%
dim i
dim j
j=Application.Contents.Count
For i=1 to j
  Response.Write(Application.Contents(i) & "<br>")
Next
%>

循环遍历 StaticObjects 集合

您可以循环遍历 StaticObjects 集合,以查看存储在 Application 对象中的所有对象的值:

<%
dim i
For Each i in Application.StaticObjects
  Response.Write(i & "<br>")
Next
%>

锁定和解锁

您可以使用 "Lock" 方法锁定应用程序。当应用程序被锁定时,用户无法更改应用程序变量(当前访问它的变量除外)。您可以使用 "Unlock" 方法解锁应用程序。此方法从 Application 变量中删除锁定:

<%
Application.Lock
'do some application object operations
Application.Unlock
%>