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 變量的值:

<%
Response.Write(Application("users"))
%> 

遍歷 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
%>