三、事件
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("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" %> |
| < % LocalArray=Application("StoredArray") LocalArray(1)=" there" Response.Write LocalArray(0)&LocalArray(1) Application.Lock Application("StoredArray")=LocalArray Application.Unlock %> |
通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象。当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有名为 ASPSESSIONID 的 Cookie 发送过来,如果有,则服务器会启动新的会话,并为该会话生成一个全局唯一的值,在把这个值作为新 ASPSESSIONID Cookie 的值发送给客户端,正是使用这种 Cookie,可以访问存储在服务器上的属于客户程序的信息。Session 对象最常见的作用就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。另外其还经常被用在鉴别客户身份的程序中。要注意的是,会话状态仅在支持 cookie 的浏览器中保留,如果客户关闭了 Cookie 选项,Session 也就不能发挥作用了。
我来说两句:
推荐文章
相关文章