【 tulaoshi.com - ASP 】
3.3 ASP的Application对象和Session对象
本章已经讨论了两个ASP对象:Application对象和Session对象,因此能够访问Application对象和Session对象提供的集合、方法、属性和事件。本节将从程序设计的角度对这两个对象进行研究。
· 当载入ASP DLL并响应对一个ASP网页的第一个请求时,创建 Application对象。该对象提供一个存储场所,用来存储对于所有访问者打开的所有网页都可用的变量和对象。
· 当访问者首次从站点请求一个ASP页面时,为他创建一个Session对象,并保持有效直到缺省的超时周期(或由脚本确定的超时周期)。该对象提供一个存储场所,用来存储仅仅对该访问者在会话的活动期间打开的网页可用的变量和对象。
图3-12(即图1-20)给出了用户的请求和服务器的响应在会话中的分布情况。所有的会话都在ASP应用程序中。
图3-12 ASP对象关系
3.3.1 ASP的Application对象成员概述
本节说明Application对象的集合、方法和事件(Application对象没有属性)。在下一节对Session对象(具有属性)进行同样的说明。然后将继续探讨使用这些对象所完成的任务,更详细地说明每个对象的各成员如何进行工作。
1. Application对象的集合
Application对象提供了两个集合,可以用来访问存储于全局应用程序空间中的变量和对象。集合及说明如表3-3所示:
表3-3 Application对象的集合及说明
集 合
说 明
Contents
没有使用<OBJECT元素定义的存储于Application对象中的所有变量(及它们的值)的一个集合。包括Variant数组和Variant类型对象实例的引用
StaticObjects
使用<OBJECT元素定义的存储于Application对象中的所有变量(及它们的值)的一个集合
2. Application对象的方法
Application对象的方法允许删除全局应用程序空间中的值,控制在该空间内对变量的并发访问。方法及说明如表3-4所示:
表3-4 Application对象的方法及说明
方 法
说 明
Contents.Remove(“variable_name”)
从Application.Content集合中删除一个名为variable_name的变量
Contents.RemoveAll()
从Application.Content集合中删除所有变量
Lock()
锁定Application对象,使得只有当前的ASP页面对内容能够进行访问。用于确保通过允许两个用户同时地读取和修改该值的方法而进行的并发操作不会破坏内容
Unlock()
解除对在Application对象上的ASP网页的锁定
注意,在运行期间不能从Application.StaticObjects集合中删除变量。
3. Application对象的事件
Application对象提供了在它启动和结束时触发的两个事件,如表3-5所示:
表3-5 Application对象的事件及说明
事 件
说 明
OnStart
当ASP启动时触发,在用户请求的网页执行之前和任何用户创建Session对象之前。用于初始化变量、创建对象或运行其他代码
OnEnd
当ASP应用程序结束时触发。在最后一个用户会话已经结束并且该会话的OnEnd事件中的所有代码已经执行之后发生。其结束时,应用程序中存在的所有变量被取消
3.3.2 ASP的Session对象成员概述
本节概述Session对象的所有成员。
1. Session对象的集合
Session对象提供了两个集合,可以用来访问存储于用户的局部会话空间中的变量和对象。这些集合及说明如表3-6所示:
表3-6 Session对象的集合及说明
集 合
说 明
Contents
存储于这个特定Session对象中的所有变量和其值的一个集合,并且这些变量和值没有使用<OBJECT元素进行定义。包括Variant数组和Variant类型对象实例的引用
StaticObjects
通过使用<OBJECT元素定义的、存储于这个Session对象中的所有变量的一个集合
2. Session对象的特性
Session对象提供了四个属性。这些属性及说明如表3-7所示:
表3-7 Session对象的属性及说明
属 性
说 明
CodePage
读/写。整型。定义用于在浏览器中显示页内容的代码页(Code Page)。代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页。例如,ANSI代码页1252