中华考试网·阅读新闻
编程开发 > ASP > 文章内容

ASP完整教程(16)

2015-12-8编辑:ljnbset
内建对象Application 和 Session-

事件

  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---

< %

LocalArray=Application("StoredArray")

LocalArray(1)=" there"

Response.Write LocalArray(0)&LocalArray(1)

Application.Lock

Application("StoredArray")=LocalArray

Application.Unlock

%>

  与 Application 对象具有相近作用的另一个非常实用的 ASP 内建对象就是 Session。我们可以使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。

  通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象。当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有名为 ASPSESSIONID 的 Cookie 发送过来,如果有,则服务器会启动新的会话,并为该会话生成一个全局唯一的值,在把这个值作为新 ASPSESSIONID Cookie 的值发送给客户端,正是使用这种 Cookie,可以访问存储在服务器上的属于客户程序的信息。Session 对象最常见的作用就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。另外其还经常被用在鉴别客户身份的程序中。要注意的是,会话状态仅在支持 cookie 的浏览器中保留,如果客户关闭了 Cookie 选项,Session 也就不能发挥作用了。

ASP完整教程(15)
咨询热线:4000-525-585(免长途费)