ASP内置对象详解之Application对象

发表于:2007-06-30来源:作者:点击数: 标签:
Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。 Application的属性: 方法如下: Application对象没有内置的属性,但是我们可以自行创建其属性。 % Application("属性名")=值 % 其实大部分Ap
  Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。
  Application的属性:
  方法如下:
  Application对象没有内置的属性,但是我们可以自行创建其属性。
  <% Application("属性名")=值 %>
  其实大部分Application变量都 存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:
  <% Application("greeting")="hello!" %> 或 <% Application.contents("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。  
<%
For Each item IN Application.Contents
   Response.write("<br>"&item&Application.Contents(item))
next
%>
Application的方法:
  Application的方法只有两个方法:一个是Lock,另一个是Unlock。其中Lock方法用于保证同一时刻只能一个用户对Application操作。Unlock则用于取消Lock方法的限制。如:
<%
Application.Lock
Application("visitor_num")=Application("visitor_num")+1
Application.Unlock
%>
Application的事件:
1、Application_OnStart()
  当事件应用程序启动时触发。
2、Application_OnEnd()
  此事件应用程序结束时触发。
  这两个事件过程都是必须定义在Global.asp文件中,一般把连接数据的函数定义在这两个事件,然后放在Global.asp中。例如:
Sub Application_OnStart
    Application("tt18_ConnectionString") = "driver={SQL      
                     Server};server=jeff;uid=sa;pwd=;database=test"
End Sub
  一个数组能够被定义成Application对象,不过这个数组只能作为一个对象保存,而不能用Application(0)取出其值。可以定义一个临时数组实现这种功能。如:
<%
dim Array()
Array=Application("array")
for i = 0 to ubound(array)
  Response.write Array(i)
next i
%>
  同样要修改这个Application对象也可以定义一个临时数组,把Application对象赋给数组,然后修改这个数组的元素,最后把数组赋回Application对象。如:
<%
dim Array()
Array=Application("array")
Array(0)="jeff"
Array(1)="zhu"
Application.lock
Application("array")=Array
Application.unlock
%>

原文转自:http://www.ltesting.net