asp 内置对象 Application 详解(2)



   2、和 Lock 方法相反,Unlock 方法允许其他客户修改 Application 对象的属性。 

   在上面的例子中,上述例子中,Unlock 方法解除对象的锁定,使得下一个客户端能够增加 NumVisits 的值。 

   三、事件 

   1、Application_OnStart 

   Application_OnStart 事件在首次创建新的会话 ( 即 Session_OnStart 事件 ) 之前发生。当 WEB 服务器启动并允许对应用程序所包含的文件进行请求时就触发 Application_OnStart 事件。Application_OnStart 事件的处理过程必须写在 Global.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 对象时必须注意的一些事项。 

   不能在 Application 对象中存储 ASP 内建对象。例如,下面的每一行都返回一个错误。 
< %
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" %>


   这是因为 Application 对象是作为集合被实现的。数组元素 StoredArray(3) 未获得新的赋值。而此值将包含在 Application 对象集合中,并将覆盖此位置以前存储的任何信息。建议您在将数组存储在 Application 对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,您应再将数组全部存储在 Application 对象中,这样您所做的任何改动将被存储下来。下列的脚本对此进行演示。 
---asp8a.asp---
< %
dim MyArray()
Redim MyArray(5)
MyArray(0)="hello"
MyArray(1)="some other string"
Application.Lock
Application("StoredArray")=MyArray
Application.Unlock
Response.Redirect "asp8b.asp"
%>

---asp8b.asp---
< %

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2602.html