ASP Application 對象
在一起協(xié)同工作以完成某項任務的一組 ASP 文件稱作應用程序(application)。ASP 中的 Application 對象用于將這些文件捆綁在一起。
Application 對象
web 上的一個應用程序可以是一組 ASP 文件。這些 ASP 文件一起協(xié)同工作來完成某項任務。ASP 中的 Application 對象用來把這些文件捆綁在一起。
Application 對象用于存儲和訪問來自任何頁面的變量,類似于 session 對象。不同之處在于,所有的用戶分享一個 Application 對象,而 session 對象和用戶的關系是一一對應的。
Application 對象存有會被應用程序中的許多頁面使用的信息(比如數(shù)據(jù)庫連接信息)。這意味著可以從任何的頁面訪問這些信息。同時也意味著你可在一個地點改變這些信息,然后這些改變會自動反映在所有的頁面上。
存儲和取回 Application 變量
Application 變量可被應用程序中的任何頁面訪問和改變。
可以像這樣在 "Global.asa" 中創(chuàng)建 Application 變量:
<script language="vbscript" runat="server"> Sub Application_OnStartapplication("vartime")=""
application("users")=1
End Sub </script>
在上面的例子中,我們創(chuàng)建了兩個 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 集中的項目數(shù)量,可使用 count 屬性:
<%
dim i
dim j
j=Application.Contents.Count
For i=1 to j
Response.Write(Application.Contents(i) & "<br />")
Next
%>
遍歷 StaticObjects 集合
可通過循環(huán) 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
%>