ASP Application 对象

ASP Application 对象

在一起协同工作以完成某项任务的一组 ASP 文件称作应用程序(application)。ASP 中的 Application 对象用于将这些文件捆绑在一起。

Application 对象

web 上的一个应用程序可以是一组 ASP 文件。这些 ASP 文件一起协同工作来完成某项任务。ASP 中的 Application 对象用来把这些文件捆绑在一起。

Application 对象用于存储和访问来自任何页面的变量,类似于 session 对象。不同之处在于,所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。

Application 对象存有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。这意味着可以从任何的页面访问这些信息。同时也意味着你可在一个地点改变这些信息,然后这些改变会自动反映在所有的页面上。

存储和取回 Application 变量

Application 变量可被应用程序中的任何页面访问和改变。

可以像这样在 "Global.asa" 中创建 Application 变量:

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

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

</script>

在上面的例子中,我们创建了两个 Application 变量:"vartime" 和 "users"。

可以像这样访问 Application 变量的值:

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

遍历 Contents 集合

Contents 集合包含着所有的 application 变量。我们可以通过对 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" 方法来锁定应用程序。当应用程序锁定后,用户们就无法改变 Application 变量了(除了正在访问 Application 变量的用户)。我们也可使用 "Unlock" 方法来对应用程序进行解锁。这个方法会移除对 Application 变量的锁定:

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