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这两个变量。