ASP Application 对象

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

Application 对象

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

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

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

存储和取回 Application 变量

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

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

  1. <script language="vbscript" runat="server">
  2.  
  3. Sub Application_OnStart
  4. application("vartime")=""
  5. application("users")=1
  6. End Sub
  7.  
  8. </script>

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

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

  1. There are
  2. <%
  3. Response.Write(Application("users"))
  4. %>
  5. active connections.

遍历 Contents 集合

Contents 集合包含着所有的 application 变量。我们可以通过对 contents 集合进行遍历,来查看其中存储的变量:

  1. <%
  2. dim i
  3. For Each i in Application.Contents
  4. Response.Write(i & "<br />")
  5. Next
  6. %>

如果你不清楚 contents 集中的项目数量,可使用 count 属性:

  1. <%
  2. dim i
  3. dim j
  4. j=Application.Contents.Count
  5. For i=1 to j
  6. Response.Write(Application.Contents(i) & "<br />")
  7. Next
  8. %>

遍历 StaticObjects 集合

可通过循环 StaticObjects 集合,来查看所有存储于 Application 对象中的对象的值:

  1. <%
  2. dim i
  3. For Each i in Application.StaticObjects
  4. Response.Write(i & "<br />")
  5. Next
  6. %>

锁定和解锁

我们可以使用 "Lock" 方法来锁定应用程序。当应用程序锁定后,用户们就无法改变 Application 变量了(除了正在访问 Application 变量的用户)。我们也可使用 "Unlock" 方法来对应用程序进行解锁。这个方法会移除对 Application 变量的锁定:

  1. <%
  2. Application.Lock
  3. 'do some application object operations
  4. Application.Unlock
  5. %>