4.6 Application对象
Application对象是一个应用程序级的对象,利用Application对象可以在所有用户之间共享信息,并且可以在Web应用程序运行期间持久地保存数据。
Application对象用于存储和访问来自任何页面的变量,类似于session对象。不同之处在于,所有的用户分享一个Application对象,而session对象和用户的关系是一一对应的。
1.方法
Application对象只有两种方法,即Lock方法和UnLock方法。Lock方法主要用于保证同一时刻只有一个用户在对Application对象进行操作,也就是说,使用Lock方法可以防止其他用户同时修改Application对象的属性,这样可以保证数据的一致性和完整性。当一个用户调用一次Lock方法后,如果完成任务,应该使用UnLock方法将其解开以便其他用户能够访问。UnLock方法通常与Lock方法同时出现,用于取消Lock方法的限制。Application对象的方法及说明如表4-4所示。
表4-4 Application对象的方法
Application对象储存的内容是共享的,有异常情况发生时,如果没有锁定数据,会造成数据不一致的状况发生,并导致数据的错误。Lock与Unlock的语法如下。
Application.lock 欲锁定的程序语句 Application.unlock
例如:
Application.lock Application("sy")=Application("sy")+sj Application.unlock
以上的sy变量在程序执行“+sj”时会被锁定,其他欲更改sy变量的程序将无法更改它,直到锁定解除为止。
2.事件
Application对象提供了在它启动和结束时触发的两个事件,Application对象的事件及说明如表4-5所示。
表4-5 Application对象的事件
Application-OnStart就是在Application开始时所触发的事件,而Application-OnEnd则是在Application结束时所触发的事件。这两个事件放在Global.asa中,用法与数据集合或属性的“对象.数据集合”或“对象.属性”方式不同,而是以子程序的方式存在。它们的格式如下。
Sub Application-OnStart 程序区域 End Sub Sub Application-OnEnd 程序区域 End Sub
下面是Application对象的事件使用实例。
<html> <body> <script language=VBScript runat= server> Sub application-OnStart Application("Today")=date Application("Times")=time End sub </script> </body> </html>
在这里用到了Application-OnStart事件。将两个变量放在Application-OnStart中是为了让Application对象一开始就有Today和Times这两个变量。