在一起协同工作以完成某项任务的一组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变量的值:
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 %>