ASP Application 對(duì)象
在一起協(xié)同工作以完成某項(xiàng)任務(wù)的一組 ASP 文件稱作應(yīng)用程序(application)。ASP 中的 Application 對(duì)象用于將這些文件捆綁在一起。
Application 對(duì)象
web 上的一個(gè)應(yīng)用程序可以是一組 ASP 文件。這些 ASP 文件一起協(xié)同工作來(lái)完成某項(xiàng)任務(wù)。ASP 中的 Application 對(duì)象用來(lái)把這些文件捆綁在一起。
Application 對(duì)象用于存儲(chǔ)和訪問(wèn)來(lái)自任何頁(yè)面的變量,類似于 session 對(duì)象。不同之處在于,所有的用戶分享一個(gè) Application 對(duì)象,而 session 對(duì)象和用戶的關(guān)系是一一對(duì)應(yīng)的。
Application 對(duì)象存有會(huì)被應(yīng)用程序中的許多頁(yè)面使用的信息(比如數(shù)據(jù)庫(kù)連接信息)。這意味著可以從任何的頁(yè)面訪問(wèn)這些信息。同時(shí)也意味著你可在一個(gè)地點(diǎn)改變這些信息,然后這些改變會(huì)自動(dòng)反映在所有的頁(yè)面上。
存儲(chǔ)和取回 Application 變量
Application 變量可被應(yīng)用程序中的任何頁(yè)面訪問(wèn)和改變。
可以像這樣在 "Global.asa" 中創(chuàng)建 Application 變量:
<script language="vbscript" runat="server"> Sub Application_OnStartapplication("vartime")=""
application("users")=1
End Sub </script>
在上面的例子中,我們創(chuàng)建了兩個(gè) Application 變量:"vartime" 和 "users"。
可以像這樣訪問(wèn) Application 變量的值:
There are <% Response.Write(Application("users")) %> active connections.
遍歷 Contents 集合
Contents 集合包含著所有的 application 變量。我們可以通過(guò)對(duì) contents 集合進(jìn)行遍歷,來(lái)查看其中存儲(chǔ)的變量:
<%
dim i
For Each i in Application.Contents
Response.Write(i & "<br />")
Next
%>
如果你不清楚 contents 集中的項(xiàng)目數(shù)量,可使用 count 屬性:
<%
dim i
dim j
j=Application.Contents.Count
For i=1 to j
Response.Write(Application.Contents(i) & "<br />")
Next
%>
遍歷 StaticObjects 集合
可通過(guò)循環(huán) StaticObjects 集合,來(lái)查看所有存儲(chǔ)于 Application 對(duì)象中的對(duì)象的值:
<%
dim i
For Each i in Application.StaticObjects
Response.Write(i & "<br />")
Next
%>
鎖定和解鎖
我們可以使用 "Lock" 方法來(lái)鎖定應(yīng)用程序。當(dāng)應(yīng)用程序鎖定后,用戶們就無(wú)法改變 Application 變量了(除了正在訪問(wèn) Application 變量的用戶)。我們也可使用 "Unlock" 方法來(lái)對(duì)應(yīng)用程序進(jìn)行解鎖。這個(gè)方法會(huì)移除對(duì) Application 變量的鎖定:
<%
Application.Lock
'do some application object operations
Application.Unlock
%>