應用程式應用程式
在一起協同工作以完成某項任務的一組 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>
Sub Application_OnStart
application("vartime")=""
application("users")=1
End Sub
</script>
在上面的實例中,我們建立了兩個Application 變數:"vartime" 和"users"。
您可以存取Application 變數的值,如下所示:
There are
<%
Response.Write(Application("users"))
%>
active connections.
<%
Response.Write(Application("users"))
%>
active connections.
遍歷Contents 集合
Contents 集合包含所有的application 變數。您可以透過遍歷 Contents 集合,來查看其中儲存的變數:
<%
dim i
For Each i in Application.Contents
Response.Write(i & "<br>")
Next
%>
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
%>
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
%>
#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
%>
Application.Lock
'do some application object operations
Application.Unlock
%>