在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session。 在 ASP 的内建对象中除了用于发送、接收和处理数据的对象外,还有一些非常实用的代表 Active Server 应用程序和单个用户信息的对象。 让我们先来看看 Application 对象。在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序。我们非但可以使用 Application 对象,在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数据。而且,Application 对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件。
下面就让我们一起来学习 Application 对象。
一、属性 虽然 A pplication 对 象没有内置的属性,但我们可以使用以下句法设置用户定义的属性也可称为集合。
A pplication(" 属性 / 集合名称 ")= 值
我们可以使用如下脚本声明并建立 Application 对象的属性。 < % Application("MyVar") = "Hello" Set Application("MyObj") = Server.CreateObject("MyComponent") %> 一旦我们分配了 A pplication 对 象的属性,它就会持久地存在,直到关闭 W EB 服 务器服务使得 A pplication 停 止。由于存储在 A pplication 对 象中的数值可以被应用程序的所有用户读取,所以 A pplication 对 象的属性特别适合在应用程序的用户之间传递信息。
A pplication_OnStart 事 件在首次创建新的会话 ( 即 S ession_OnStart 事 件 ) 之 前发生。当 W EB 服 务器启动并允许对应用程序所包含的文件进行请求时就触发 A pplication_OnStart 事 件。 A pplication_OnStart 事 件的处理过程必须写在 G lobal.asa 文 件之中。 Application_OnStart 事件的语法如下 : < SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Application_OnStart. . . End Sub < /SCRIPT> 2、Application_OnEnd Application_OnEnd 事件在应用程序退出时于 Session_OnEnd 事件之后发生,Application_OnEnd 事件的处理过程也必须写在 Global.asa 文件之中。
下面让我们来看看在使用 Application 对象时必须注意的一些事项。
不能在 A pplication 对 象中存储 A SP 内 建对象。例如,下面的每一行都返回一个错误。 < % Set Application("var1")=Session Set Application("var2")=Request Set Application("var3")=Response Set Application("var4")=Server Set Application("var5")=Application Set Application("var6")=ObjectContext %> 若您将一个数组存储在 Application 对象中,请不要直接更改存储在数组中的元素。例如,下列的脚本无法运行。 < % Application("StoredArray")(3) = "new value" %> 这是因为 A pplication 对 象是作为集合被实现的。数组元素 S toredArray(3) 未 获得新的赋值。而此值将包含在 A pplication 对 象集合中,并将覆盖此位置以前存储的任何信息。建议您在将数组存储在 A pplication 对 象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,您应再将数组全部存储在 A pplication 对 象中,这样您所做的任何改动将被存储下来。下列的脚本对此进行演示。 ---asp8a.asp--- < % dim MyArray() Redim MyArray(5) MyArray(0)="hello" MyArra