ASP Application 對象


在一起協同工作以完成某項任務的一組 ASP 檔稱為一個應用程式。


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