</FORM>
结果如图3-21所示。这时,当前的用户会话已经被终止(放弃),并且该用户不能引用原先的Session集合或属性的内容:
图3-21 终止一个用户会话后的屏幕
然而,记住这一切是在调用Abandon方法的网页执行时,甚至在对该方法的调用已经完成以后,仍能够从Session对象中获得用户的会话内容。当此网页结束时,会话才结束。当然,当返回到显示会话内容的Session对象示例网页时,将启动一个新的ASP会话。它将有一个不同的Start_Time值和通过执行global.asa中的代码创建的其他缺省的会话值,如图3-22所示:
图3-22 重新建立一个用户会话后的屏幕
注意,Session.SessionID属性值没有改变。ASP试图重新分配相同的会话ID,因此不能依靠该值来判定一个新的会话已经启动。
3.4 小结
本章介绍了两个ASP内置对象:Application和Session对象。这些对象引入了ASP的应用程序和用户会话的概念(两者都是特定的术语,并且不是通常谈话时的意义)。ASP应用程序允许分配专门的属性给页面集,定义了IIS和ASP如何管理这
些网页及所使用的其他组件。
然而,使用ASP应用程序和会话的主要原因是需要自动地获得状态。换句话说,存储信息和变量引用的能力,要么对用户装载的所有网页是全局和可用的(即在一个应用程序中),要么仅仅对一个指定的用户的所有网页是可用的(在一个会话中)。这使建立Web应用程序变得非常简单(即应用程序在Web上工作,但能够像传统的编译的应用程序一样能完成指定的任务)。
本章通过一些示例页面,详细介绍如何使用ASP的Application和Session对象。这些页面示范了这两个对象可用的所有技术。