资源描述
ASP动态网站开发教程(第四版),ASP,动态网站开发教程(第四版),第二级,教材,第,06,章,Application,对象与,Session,对象,本章将介绍两个重要的,ASP,内建对象,Application,对象与,Session,对象。其中,,Application,对象可以在所有用户之间共享信息,并在服务器运行期间持久地保存数据。而且,Application,对象对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件。,Session,对象对象更接近于普通应用程序中的全局变量,全局变量在程序执行的过程中始终有效,其他用户同时启动该程序的另一个副本,该程序的两个实例使用各自的全局变量,在两个进程之间不能互相访问信息。,6.1 Application,对象,6.2 Session,对象,6.3 Global.asa,文件,6.1 Application,对象,主题,6.1.1 Application,对象概述,Application,对象是个应用程序级的对象,它可以产生一个全部的,Web,应用程序都可以存取的变量,所有的客户都可以访问这个变量。,应用程序是驻留在,Web,站点的特定目录中的一组文件。每个,Web,站点上可以有多个应用程序,还可以根据某个任务为一些,ASP,文件创建一个应用程序。例如,创建一个应用程序为全部客户服务后,再创建一个新的应用程序来为网络管理员服务。,应用程序的运行实例用,Application,对象表示,其生存期从请求该应用程序的第一个页面开始,(,不是从服务器启动开始,),,直到,Web,站点关闭时结束。由于存储在,Application,对象中的数据可以被应用程序的所有用户共享,因而,Application,对象特别适合在应用程序的不同用户之间传递信息。,6.1.2 Application,对象的属性,Application,对象没有内置属性,用户可根据需要自行创建。创建一个属性后,在整个应用程序运行期间,此属性的值都可以被所有的用户访问。如下面的代码定义了一个,Application,对象的属性,Welcome,:,6.1.3 Application,对象的方法,Application,对象对于网站所有的网页和在线用户来说,是一个公开的对象,因此,任何人在任何时间都有可能对其进行存取。当一个,Application,对象在同一个时间被存取,此时冲突就会发生,因此,对于,Application,对象,适当地限制用户存取非常重要。,Application,对象包含,Lock,和,UnLock,两种方法。,Lock,方法用于锁定,Application,对象,保证同一时刻只有一个用户可以操作其中的数据,避免多个用户同时修改同一数据而产生的冲突。,UnLock,方法用于解除,Lock,方法对数据的锁定,以便其他用户能访问和修改,Application,对象的属性。,Lock,和,UnLock,这两种方法总是成对出现的,这样可以确保,Application,对象中数据对所有用户的完整性和一致性。,6.1.4 Application,对象的事件,Application,对象包含,Application_OnStart,和,Application_OnEnd,两个事件。当网站的第一个用户通过浏览器打开一份网页的时候,,Application,对象就会被自动创建,与此同时,,Application,对象所定义的,OnStart,事件便会被触发,对于,ASP,网页的程序设计师而言,会将焦点放在所触发的,OnStart,事件,整个网站一开始所要执行的工作、初始化操作的相关程序代码,都可以在这个事件里面作处理。,6.1.5,使用,Application,对象保存数据,在,Application,对象中,它保存的内容除了可以是简单数据类型的变量和普通对象外,还可以是一个保存有多个值的数组。创建的过程中要求定义一个普通的数组并将值赋给它,然后将数组整体定义为一个,Application,对象,如下例所示:,6.2 Session,对象,6.2.1 Session,对象概述,Web,上用在浏览器和服务器之间传送请求和响应的,HTTP,协议是无状态协议,,Web,服务器将每个页面请求都当作独立的请求,服务器不保留以前请求的任何信息。,ASP,的,Session,对象弥补了,HTTP,无法记忆先前请求的缺陷。,Session,对象可用来标识每次访问的用户并收集信息,用户在应用程序的页面之间跳转时,该,Session,信息仍然存在并保持不变。在用户与网站服务器保持联系期间,应用程序可调用这些存储的信息来跟踪用户的喜好或选择。,6.2.2 Session,对象的属性,1.SessionID,属性,2.TimeOut,属性,6.2.3 Session,对象的方法,Abandon,方法是,Session,对象的唯一方法,,Abandon,方法可以用来删除用户的,Session,对象并释放其所占用的资源。下面的语句将用于消除,Session,对象:,6.2.4 Session,对象的事件,Session,对象包含,Session_OnStart,和,Session_OnEnd,两个事件。当网站一个新的用户上线通过浏览器请求一份网页的时候,这个用户的专属,Session,对象就会被创建。,Session,对象所定义的,OnStart,事件同时被触发。,当一个用户离线或是停止任何浏览网页操作时,一旦过了,Session,对象的存活期限,代表此用户的,Session,对象就会被结束。此时,OnEnd,事件即会被触发,处理用户离线时所需的程序代码可以放在这个事件里面作处理。,6.2.5,使用,Session,记录用户登录信息,本节以一个简单的实例,介绍利用,Session,对象来记录变量内容的方法。,6.3 Global.asa,文件,Global.asa,文件是一个文本文件,可使用任何文本编辑器进行编辑。下面就是一个标准的空白,Global.asa,文件结构:,Sub Application_OnStart,当第一个用户运行,ASP,应用程序中的任何一个页面时执行,End Sub,Sub Application_OnEnd,当,Web,服务器关闭时执行,End Sub,Sub Session_OnStart,用户第一次运行,ASP,应用程序中的任何一个页面时执行,End Sub,Sub Session_OnEnd,当一个用户的会话超时或退出应用程序时执行,End Sub,
展开阅读全文