《新ASP动态网页设计实用案例教程-电子教案-第3章-ASP的内置对象课件.ppt》由会员分享,可在线阅读,更多相关《新ASP动态网页设计实用案例教程-电子教案-第3章-ASP的内置对象课件.ppt(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、在线教务辅导网:在线教务辅导网:http:/教材其余课件及动画素材请查阅在线教务辅导网教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:或者直接输入下面地址:http:/第第3章章 ASP的内置对象的内置对象 3.1 3.1 ASPASP内置对象简介内置对象简介内置对象简介内置对象简介 3.2 3.2 ResponseResponse对象及其应用对象及其应用对象及其应用对象及其应用 3.3 3.3 RequestRequest对象及其应用对象及其应用对象及其应用对象及其应用 3.4 3.4 ServerServer对象及其应用对象及其应用对象及其应用对象
2、及其应用 3.5 3.5 SessionSession对象及其应用对象及其应用对象及其应用对象及其应用 3.6 3.6 ApplicationApplication对象及其应用对象及其应用对象及其应用对象及其应用3.7 3.7 ObjectContextObjectContext对象对象对象对象 3.8 3.8 ErrErr对象对象对象对象 3.1.1 HTTP协议简介协议简介 HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种非常重要的WWW传输协议,它规定了在网络中传输信息的内容以及客户端浏览器与服务器端交互的方式。它有二种版本,即HTTP1.10,H
3、TTP1.1。返回 当客户端浏览器从一个网站接收HTTP文件时,就会使用HTTP协议。首先,浏览器会建立一个到网站的连接并发出一个请求,网站在接受请求后将发出一个响应,因此,HTTP协议也称做请求响应协议。返回3.1.2内置对象概说对象可以分为外挂对象和内置对象。在利用内置对象的脚本时,不需要先创建它的一个实例。在整个网站应用中内置对象的所有方法、属性集合都是自动可访问的。ASP提供了7个内置对象,即Response对象、Request对象、Application对象、Session对象、Server对象、ObjectContext对象和Err对象。返回返回 使用外挂对象,要用到Server.
4、CreateObject方法以建立实例(Instance),有了实例才能使用,详见第4章。3.2Response对象及其应用 Response对象用于动态响应客户端请求(Request),并将动态生成的响应结果返回到客户端浏览器中。Reponse对象主要是用来向浏览器输出信息的,其功能类似于其他编程语言的输出函数,所不同的是,一般编程语言是在本地机运行,把结果输出到本地的输出设备(如CRT、打印机等)上,而ASP是在服务器端运行,Response把运行结果通过Internet输出到遥远的客户端的浏览器上。返回3.2.1 Response对象数据集合(对象数据集合(1个)个)Response对象
5、只有Cookies一个数据集合,而Cookies又有Domain,Expires,HasKeys,Path,Secure等属性。其使用语法如下:Response.Cookies(cookie)(key)|attribute=value返回 参数参数cookiecookie用来创建或设置用来创建或设置cookiecookie的名称;的名称;参数参数KeyKey为可选参数,表示这个为可选参数,表示这个cookiecookie会以目录会以目录的类型加以存储,如果指定的类型加以存储,如果指定key,key,则则cookiecookie就是一个字就是一个字典典,而且该而且该keykey将被设置为将被设置
6、为Value,Value,以便在以后的数据接以便在以后的数据接收中使用;收中使用;参数参数AttributeAttribute指定指定cookiecookie自身的有关信息。自身的有关信息。返回3.2.2 Response对象的属性(9个)1)1)BufferBufferBufferBuffer属性控制是否使用缓冲页输出,语法如下:属性控制是否使用缓冲页输出,语法如下:Response.Buffer=FlagResponse.Buffer=FlagFlagFlag为布尔值。当为布尔值。当FlagFlag为为FALSEFALSE,表示不使用缓冲,表示不使用缓冲,服务器在处理脚本的同时将输出发送给
7、客户端;当服务器在处理脚本的同时将输出发送给客户端;当FlagFlag为为TRUETRUE,表示使用缓冲页输出。表示使用缓冲页输出。返回2)CacheControl该该属性用来设置属性用来设置WebWeb服务器是否将服务器是否将ASPASP的处理的处理结果暂时放在代理服务器上,如果客户端的浏览器结果暂时放在代理服务器上,如果客户端的浏览器没有设置代理服务器,则这个属性值不起作用。没有设置代理服务器,则这个属性值不起作用。3)CharsetCharsetCharset属性将字符集名称属性将字符集名称(如如GB2312)GB2312)附加到附加到ResponseResponse对象对象中中Cont
8、ent-TypeContent-Type标题的后面,用来设置标题的后面,用来设置WebWeb服务器响应给客户端的文件字符编码。服务器响应给客户端的文件字符编码。返回4)Expires 用来设置用来设置ASPASP网页保留在浏览器网页保留在浏览器CacheCache的时间,以的时间,以分钟计算。分钟计算。ExpiresExpires属性的设置方法为:属性的设置方法为:Response.Expires=n nResponse.Expires=n n为整数,单位为分钟。为整数,单位为分钟。如果设置为如果设置为Response.Expires=5Response.Expires=5,则页面每五则页面每
9、五分钟自动读取一次,即缓冲存储的页面五分钟后过分钟自动读取一次,即缓冲存储的页面五分钟后过期。如果用户在某个页面过期之前又回到此页,就期。如果用户在某个页面过期之前又回到此页,就会显示缓冲区中的页面。如果设置为会显示缓冲区中的页面。如果设置为Response.Expires=0Response.Expires=0,则可使缓存的页面立即过期。则可使缓存的页面立即过期。返回5)ExpiresAbsolute指定网页的过期时间,但与Expires属性不同是,该属性指定缓存于浏览器中的页面的到期时间能确切到具体日期和时间,是一个绝对值。在到期之前,若用户返回到该页,该缓存中的页面就显示。如果未指定时间
10、,该主页在当天午夜到期。如果未指定日期,则该主页在脚本运行当天的指定时间到期。返回6)ContentTypeContentType属性用来指定响应的HTTP内容类型。语法如下:Response.ContentType=内容类型一般来说,ContentType都是以“类型/子类型”的字符串来表示的,常用的有Text/Html、Image/Gif、Application/Msword等,默认为Text/Html形式。返回7)IsClientConnectedIsClientConnected属性是只读属性,用来判断客户端是否能与服务器相连。8)Status8)StatusStatus 属性用来检查
11、Web服务器返回给浏览器的状态,它的响应值即“状态描述字符串”,它是一个代码加上简短的说明。返回9)PICS PICS PICS 属性用来设置属性用来设置属性用来设置属性用来设置PICSPICS标签,并把响应添加到标标签,并把响应添加到标标签,并把响应添加到标标签,并把响应添加到标头(头(头(头(Response HeaderResponse Header)。)。)。)。PICSPICS(TheThe PlatForm PlatForm for for Internet Content SelectionInternet Content Selection)是一个负责定义互联网络是一个负责定义
12、互联网络是一个负责定义互联网络是一个负责定义互联网络等级及登记数据的等级及登记数据的等级及登记数据的等级及登记数据的W3CW3C团体。团体。团体。团体。返回3.2.3Response对象的方法(8个)1)1)WriteWrite方法:可以向浏览器输出动态信息。方法:可以向浏览器输出动态信息。方法:可以向浏览器输出动态信息。方法:可以向浏览器输出动态信息。是是ResponseResponse方法中最常用的方法。该方法不仅可以方法中最常用的方法。该方法不仅可以将将HTMLHTML语句写入网页,而且可以将语句写入网页,而且可以将VBScriptVBScript脚本语句脚本语句写入网页、控件和对象。使
13、用语法为:写入网页、控件和对象。使用语法为:Response.WriteResponse.Write任何数据类型任何数据类型2)2)RedirectRedirect方法方法方法方法 其作用是重新定向网址。在运行其作用是重新定向网址。在运行ASPASP程序时,当遇程序时,当遇到到“Response.RedirectResponse.Redirect”语句时,页面将自动指向语句时,页面将自动指向“Response.RedirectResponse.Redirect”后面的后面的URLURL。返回3)3)ClearClear方法(要求方法(要求Response.Buffer=TRUEResponse
14、.Buffer=TRUE)删除缓冲区中的所有删除缓冲区中的所有HTMLHTML输出。使用语法为:输出。使用语法为:Response.ClearResponse.Clear4)4)FlushFlush方法方法 (要求(要求Response.Buffer=TRUEResponse.Buffer=TRUE)Response.FlushResponse.Flush方法可以立即发送缓冲区中的数据。方法可以立即发送缓冲区中的数据。使用语法为:使用语法为:Response.Flush Response.Flush 5)5)5)5)EndEndEndEnd方法(不必要求方法(不必要求方法(不必要求方法(不必要
15、求Response.Buffer=TRUEResponse.Buffer=TRUEResponse.Buffer=TRUEResponse.Buffer=TRUE)使使WebWeb服务器停止处理脚本并返回当前结果,文件中剩服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。余的内容将不被处理。使用语法为:使用语法为:Response.End Response.End 返回6)BinaryWrite方法7)AppendToLog方法方法 用来添加一段文字在服务器的日志文件(后缀为log)中,以便追踪及分析、使用记录。8)AddHeader方法方法 用来设置HTML文件的标题(Head)
16、。使用语法为:Response.AddHeaderName,Value返回3.3 Request对象及其应用 RequestRequest对象与对象与ResponseResponse对象恰恰相反,前者是对象恰恰相反,前者是从客户端浏览器提取数据。从客户端浏览器提取数据。Request Request 对象通常接收来对象通常接收来自客户端的相关信息,如浏览器的种类、表头信息、自客户端的相关信息,如浏览器的种类、表头信息、表单参数及表单参数及CookiesCookies等等。利用等等。利用RequestRequest对象可以在服对象可以在服务器端获得客户端的信息。务器端获得客户端的信息。从浏览器传
17、递信息到服务器有从浏览器传递信息到服务器有GETGET和和POSTPOST等二等二种方法。种方法。GETGET方法传递过来的信息保存在方法传递过来的信息保存在QueryStringQueryString集合中,集合中,POSTPOST方法传递过来的信息保存方法传递过来的信息保存在在FormForm集合。集合。返回3.3.1 Request对象数据集合(对象数据集合(5个)个)1)QueryString用于接收通过参数传来的数据。QueryString集合获取URL的问号后面的文本传递给Web服务器的值。通过使用GET方法或手工将表单的值添加到URL,表单的值可以被附加在请求的URL之后返回2)
18、Form集合Form集合接收通过使用POST方法的表单发送到HTTP请求正文中的表单元素的值。当使用GET方法去向Web服务器传递长而复杂的表单值时,将可能丢失信息。大多数的Web服务器倾向于严格控制URL查询字符串的长度,以便达到用GET方法传送的冗长的表单值被截断。如果需要从表单发送大量信息到Web服务器,就必须使用POST方法。返回3)Cookies集合Request.cookies正好与Response.cookies一唱一和,Response.cookies在客户端写入cookies,而Request.cookies则读取这个cookies。4)ClientCertificate集合
19、 从从WebWeb浏览器发布请求中获取验证字段(由浏览器发布请求中获取验证字段(由X.509X.509标准指定),用来取得浏览器的身份认证。标准指定),用来取得浏览器的身份认证。5)ServerVariables集合 在浏览器中浏览网页时,使用的传输协议是在浏览器中浏览网页时,使用的传输协议是HTTPHTTP,在,在HTTPHTTP的标题文件中会记录一些客户端的的标题文件中会记录一些客户端的信息,如客户的信息,如客户的IPIP地址等等,有时服务器端需要根据地址等等,有时服务器端需要根据不同的客户端信息作出不同的反应,这时候就需要不同的客户端信息作出不同的反应,这时候就需要用用ServerVar
20、iablesServerVariables集合获取所需信息。集合获取所需信息。返回3.3.2 Request对象属性(对象属性(1个)个)TotalBytesTotalBytes属性(唯一)属性(唯一)RequestRequestRequestRequest对象只提供一个对象只提供一个对象只提供一个对象只提供一个TotalBytesTotalBytesTotalBytesTotalBytes属性,这是一个属性,这是一个属性,这是一个属性,这是一个只读的属性,表示从客户端所接收数据的字节长度。只读的属性,表示从客户端所接收数据的字节长度。只读的属性,表示从客户端所接收数据的字节长度。只读的属性,
21、表示从客户端所接收数据的字节长度。其语法如下:其语法如下:其语法如下:其语法如下:字节长度字节长度字节长度字节长度Request.Request.Request.Request.TotalBytesTotalBytesTotalBytesTotalBytes返回3.3.3.Request对象的方法(对象的方法(1个)个)BinaryReadBinaryRead属性(唯一)属性(唯一)属性(唯一)属性(唯一)RequstRequst对象仅提供对象仅提供BinaryReadBinaryRead方法。方法。BinaryReadBinaryRead方方法是以二进制方式来读取客户端使用法是以二进制方式来
22、读取客户端使用POSTPOST传送方传送方法所传递的数据。法所传递的数据。返回3.4 Server对象及其应用对象及其应用 Sever对象提供对服务器上的方法和属性访问,其中大多数方法和属性是为实用程序提供服务的。语法如下:Server.Property|Method其中Property表示Server对象属性,Method表示Server对象的方法。Sever对象在ASP中是一个很有重要的对象,许多高级功能都是由它完成的,例如,经常使用Sever对象的CreateObject方法创建ActiveX组件。详见第4章。Server对象没有数据集合,也没有事件。返回返回3.4.1 Server对象
23、的属性对象的属性(1个个)SeverSever只有一个只有一个SciptTimeoutSciptTimeout属性属性,该属性用于设该属性用于设置一个置一个ASPASP脚本所允许的最长执行时间。如果在指脚本所允许的最长执行时间。如果在指定的时间内脚本没有执行完毕定的时间内脚本没有执行完毕,系统将停止其执行系统将停止其执行,并且显示超时错误。并且显示超时错误。语法如下语法如下:Server.Server.ScripttimeoutScripttimeout=Num=Num返回其中其中NumNum以秒为单位以秒为单位,系统的默认值为系统的默认值为9090秒秒,可以在可以在IISIIS中重新设定。中
24、重新设定。9090秒的时间对于一般的应用足够了秒的时间对于一般的应用足够了,需需注意用户设置时间应该大于系统的默认时间注意用户设置时间应该大于系统的默认时间,否则用否则用户的设定将不起作用。此外户的设定将不起作用。此外,时间的设置必须在时间的设置必须在ASPASP脚本之前脚本之前,否则不起任何效果。否则不起任何效果。3.4.2 Server对象的方法对象的方法(7个个)1)1)CreateObjectCreateObjectCreateObjectCreateObject是是ASPASP中最为实用,也是功能最为强大中最为实用,也是功能最为强大的方法。它用于创建已经注册到服务器上的的方法。它用于
25、创建已经注册到服务器上的ActiveXActiveX组件实例。这是一个非常重要的特性,因为通过使用组件实例。这是一个非常重要的特性,因为通过使用ActiveXActiveX组件能够很容易地扩展组件能够很容易地扩展ASPASP的能力,正是因的能力,正是因为使用了为使用了ActiveXActiveX组件,一些至关重要的功能才能得组件,一些至关重要的功能才能得以实现,。以实现,。ActiveXActiveX组件的使用才使得组件的使用才使得ASPASP具有了强具有了强大的生命力。大的生命力。语法:语法:Server.Server.CreateObjectCreateObject(ProgIDProgI
26、D)参数:只有一个参数,即参数:只有一个参数,即ProgIDProgID指定要创建的对象指定要创建的对象的类型。的类型。返回默认情况下,由默认情况下,由CreateObjectCreateObject方法创建的对象具有页作方法创建的对象具有页作用域。这就是说,在当前用域。这就是说,在当前ASPASP页处理完成之后,服务器页处理完成之后,服务器将自动破坏这些对象。要创建有会话或应用程序作用将自动破坏这些对象。要创建有会话或应用程序作用域的对象,可以使用域的对象,可以使用 Object标识并设置标识并设置SessionSession或或ApplicationApplication的的ScopeSc
27、ope属性,也可以在对话及应用程序变属性,也可以在对话及应用程序变量中存储该对象。量中存储该对象。返回1)MapPathMapPathMapPath方法能把相对或虚拟路径映射成物理路径。方法能把相对或虚拟路径映射成物理路径。语法:语法:Server.Server.MapPath MapPath(Path)(Path)参数:只有一个参数,即参数:只有一个参数,即PathPath要被转换的相对要被转换的相对或虚拟路径。或虚拟路径。返回3)GetLastError返回一个返回一个ASPErrorASPError对象的实例,该实例描述最近发对象的实例,该实例描述最近发生的错误。生的错误。这是这是ASP
28、3.0 ASP3.0 新增的功能。新增的功能。4)Execute这是这是ASP3.0 ASP3.0 新增的功能,它让你可以在一个新增的功能,它让你可以在一个ASPASP文文件中执行另一个件中执行另一个ASPASP文件,执行完毕回到原来的文件,执行完毕回到原来的ASPASP文件(仿佛是子程序调用哟!)语法如下:文件(仿佛是子程序调用哟!)语法如下:Server.Execute aspServer.Execute asp文件文件 返回5)Transfer这也是这也是ASP3.0ASP3.0新增的功能,它让你可以在一个新增的功能,它让你可以在一个ASPASP文件中执行另一个文件中执行另一个ASPAS
29、P文件,执行完毕不回到文件,执行完毕不回到原来的原来的ASPASP文件(这是与文件(这是与ExecuteExecute的区别)。的区别)。语法如下:语法如下:Server.TransferaspServer.Transferasp文件文件 返回6)6)HTMLEncode HTMLEncodeHTMLEncodeHTMLEncode方法是对指定的字符串应用方法是对指定的字符串应用HTMLHTML编码。编码。语法如下:语法如下:Server.Server.HtmlEncodeHtmlEncode(String)(String)其中其中StringString指定要编码的字符串,它应当是指定要编码
30、的字符串,它应当是HTMLHTML标记才有意义。当从服务器端向浏览器输出标记才有意义。当从服务器端向浏览器输出HTMLHTML标记时,浏览器就将其解释为标记时,浏览器就将其解释为HTMLHTML标记。标记。返回7)URLEncodeURLEncode方法将指定的字符串进行URL编码,语法如下:Server.URLEncode(Str)其中Str指定要编码的字符串。返回3.5 Session对象及其应用对象及其应用 由于HTTP是一种无状态的协议,因此无法得知用户的浏览状态。在ASP中,是通过Session对象记录用户的相关信息,用来作为用户再次对服务器访问时作确认。当用户请求来自应用程序的We
31、b页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。返回 SessionSession对象的创建和使用可弥补对象的创建和使用可弥补HTTPHTTP协议的局协议的局限,请注意限,请注意HTTPHTTP协议的工作方式是:一用户发出请协议的工作方式是:一用户发出请求,服务器端作出响应,这种用户端和服务器端之求,服务器端作出响应,这种用户端和服务器端之间的联系是离散的,在间的联系是离散的,在HTTPHTTP协议中没有什么
32、方法能协议中没有什么方法能够允许服务端来跟踪用户请求。在服务端完成响应够允许服务端来跟踪用户请求。在服务端完成响应用户请求后,服务器端不能持续与该浏览器保持连用户请求后,服务器端不能持续与该浏览器保持连接。接。返回 使用Session对象前,必须确认浏览器的Cookies功能已启用(默认设置)。如果以前更改过默认设置,Cookies功能可以通过浏览器的设置来开启。返回3.5.1 Session对象的数据集合对象的数据集合(2个个)1)1)ContentsContentsContentsContents集合包括所有未使用集合包括所有未使用集合包括所有未使用集合包括所有未使用 OBJECT标识而标
33、识而标识而标识而为该会话建立的项目。此集合可用于确定指定会话为该会话建立的项目。此集合可用于确定指定会话为该会话建立的项目。此集合可用于确定指定会话为该会话建立的项目。此集合可用于确定指定会话项的值或遍历集合,并检索出会话中所有项的列表。项的值或遍历集合,并检索出会话中所有项的列表。项的值或遍历集合,并检索出会话中所有项的列表。项的值或遍历集合,并检索出会话中所有项的列表。语法:语法:语法:语法:Session.Contents(Key)Session.Contents(Key)参数:只有一个参数,即参数:只有一个参数,即参数:只有一个参数,即参数:只有一个参数,即KeyKey要获取的属性的名
34、称。要获取的属性的名称。要获取的属性的名称。要获取的属性的名称。返回返回“Global.asa”文件与应用程序文件与应用程序 “Global.Global.asaasa”是是是是个可选文件,在这个文件中,个可选文件,在这个文件中,个可选文件,在这个文件中,个可选文件,在这个文件中,可以定义事件脚本和使用可以定义事件脚本和使用可以定义事件脚本和使用可以定义事件脚本和使用SessionSession和和和和ApplicationApplication对象。对象。对象。对象。“Global.Global.asaasa”文件的内容不能向用户显示,但是它文件的内容不能向用户显示,但是它文件的内容不能向用
35、户显示,但是它文件的内容不能向用户显示,但是它存储的信息可应用于整个应用程序。这个文件必须命存储的信息可应用于整个应用程序。这个文件必须命存储的信息可应用于整个应用程序。这个文件必须命存储的信息可应用于整个应用程序。这个文件必须命名为名为名为名为“Global.Global.asaasa”,并且存储在应用程序的启动点并且存储在应用程序的启动点并且存储在应用程序的启动点并且存储在应用程序的启动点的目录下面,一个应用程序只能有一个的目录下面,一个应用程序只能有一个的目录下面,一个应用程序只能有一个的目录下面,一个应用程序只能有一个“Global.Global.asaasa”文件。文件。文件。文件。
36、“Global.Global.asaasa”文件只能包含以下内容:文件只能包含以下内容:文件只能包含以下内容:文件只能包含以下内容:ApplicationApplication事件;事件;事件;事件;SessionSession事件;事件;事件;事件;OBJECT的声明;类库的声明。的声明;类库的声明。的声明;类库的声明。的声明;类库的声明。返回2)StaticObjects 它与它与Contents的概念和用法大致相同,不同在于,的概念和用法大致相同,不同在于,StaticObjects只返回由只返回由Global.asa文件中文件中所所建立的对象变量。建立的对象变量。语法如下:语法如下:S
37、ession.StaticObjects(变量名称变量名称)返回3.5.2 Session对象的属性对象的属性1)CodePage它是一个字符集代码,当ASP处理网页内容时,会根据这个代码将网页的字符转为自动识别(UNICODE)。语法:Session.CodePage=代码或者查看当前值:2)LCID它代表一个国家或地区的相关设置,包括事件格式它代表一个国家或地区的相关设置,包括事件格式及货币显示。及货币显示。语法:语法:Session.LCID=Session.LCID=代码代码或者查看当前值:或者查看当前值:%Session.LCID%返回返回3)SessionID ASP给每个用户会话
38、分配了唯一的识别标志。用户会话首次被创建时,其SessionID就产生了,并一直随用户在网站上保留着。不同用户获得同个页面时会显示不同的ID,但同一个用户即使多次获得此页面,每次也将显示同样的ID。4)Timeout Session对象在服务器上保留是有时间限制的,缺省值为20分钟。可以通过设置Session对象的TimeOut属性来改变超时时间,这个时间是以分为单位的。语法:Session.TimeOut=Time参数:只有一个参数,即Time,表示Session的过期时间,以分为单位。返回3.5.3 Session对象的方法对象的方法(1个个)Abandon(Abandon(唯一唯一)对于
39、一个对于一个SessionSession来说,无论用户怎样进行主页间来说,无论用户怎样进行主页间的切换,都会只有一个的切换,都会只有一个SessionIDSessionID,但是可以使用但是可以使用“Session.AbandonSession.Abandon”开辟一个新的开辟一个新的SessionSession,对于服对于服务器端来说,是两个不同的务器端来说,是两个不同的SessionSession,SessionIDSessionID也会也会变化,其中前面的已经关闭,后面的仍然保持。变化,其中前面的已经关闭,后面的仍然保持。返回返回3.5.4 Session对象的事件对象的事件(2个个)和
40、其他对象不同的是,和其他对象不同的是,SessionSession对象中有两种事件。对象中有两种事件。一种一种是是Session_Session_OnStartOnStart事件,当一个事件,当一个SessionSession开始时被触开始时被触发;另一种是发;另一种是Session_Session_OnEndOnEnd事件,当一个事件,当一个SessionSession结束结束时被触发。在一个脚本中可以和其中一个并且只能和时被触发。在一个脚本中可以和其中一个并且只能和其中一个事件关联。其中一个事件关联。1)Session_OnStart“Global.Global.asaasa”包括四个脚本
41、程序,它们只能根包括四个脚本程序,它们只能根据据Session_Session_OnStartOnStart、Session_Session_OnEndOnEnd、Application_Application_OnStartOnStart、Application_Application_OnEndOnEnd触发。只需触发。只需要要在在“Global.Global.asaasa”中添加一些希望运行的脚本程中添加一些希望运行的脚本程序,那么只要序,那么只要SessionSession对象一创建,这些脚本程序就对象一创建,这些脚本程序就会自动运行。会自动运行。返回2)Session_OnEndSe
42、ssion_Session_OnEndOnEnd事件将在会话被放弃或超时发生,事件将在会话被放弃或超时发生,用法类似于用法类似于Session_Session_OnStartOnStart事件。事件。注意:在注意:在Session_Session_OnEndOnEnd事件中不能使用事件中不能使用MapPathMapPath方法。方法。Session_Session_OnStartOnStart、Session_Session_OnEndOnEnd以及下文的以及下文的Application_Application_OnStartOnStart、Application_Application_On
43、EndOnEnd都只能以子都只能以子程序的形式存储在程序的形式存储在Global.Global.asaasa文件中。不能在普通脚文件中。不能在普通脚本中定义。本中定义。返回3.6 Application对象及其应用对象及其应用 Application对象没有属性。Application对象和Session对象有很多相似之处,它们的功能都是用于在不同的ASP之间共享信息。最大的不同在于其应用的范围:Application变量也可以被多个用户共享,从一个用户接受到的Application变量可以传递给另外的用户。返回Application对象是对所有用户,Session对象是对单一用户。和Sess
44、ion不同的还有,Application变量不需要Cookies。网站不需要利用Application变量来跟踪用户进程。可以适应任何浏览器。由于Application变量对于多用户是共享的,因此与Session变量有着本质的区别。返回返回3.6.1 Application对象的集合对象的集合(2个个)1 1)ContentsContents 该集合包括了该集合包括了ApplicationApplication对象的所有变量,但不对象的所有变量,但不包括由包括由Object所创建的对象变量。所创建的对象变量。语法:语法:Application.Contents(Application.Cont
45、ents(变量名变量名)2)StaticObjects 该集合与Contents不同,它只包括由所创建的Application对象变量。3.6.2 Application对象的方法对象的方法(2个个)Application对象有两个方法:Lock方法和Unlock方法,它们都用于处理多个用户对存储在Application对象中的数据进行写入的问题。这两种方法通常是一起使用的。返回1 1)LockLock LockLock方法阻止其他客户修改存储方法阻止其他客户修改存储在在ApplicationApplication对象对象中的变量,以确保在同中的变量,以确保在同时刻仅有一个客户可修改和存时刻仅
46、有一个客户可修改和存取取ApplicationApplication变量。变量。2 2)UnlockUnlock UnlockUnlock方法与方法与LockLock方法相反,允许其他客户修改方法相反,允许其他客户修改ApplicationApplication对象的属性。对象的属性。UnlockUnlock方法可解除对象的锁定,方法可解除对象的锁定,使得下一个客户端能够增加使得下一个客户端能够增加ApplicationApplication的值。的值。返回3.6.3 Application对象的事件对象的事件(2个个)Application_Application_OnStartOnStar
47、t和和Application_Application_OnEndOnEnd事件事件同同Session_Session_OnStartOnStart和和Session_Session_OnEndOnEnd事件的触发动事件的触发动作都必须以作都必须以SUBSUB过程的形式编码在一个文件即过程的形式编码在一个文件即“Global.Global.asaasa”文件中。文件中。对对ApplicationApplication事件和事件和SessionSession事件有一样限制,事件有一样限制,不能使用不能使用HTMLHTML标志,不能进行任何输出,不能在标志,不能进行任何输出,不能在“Global.G
48、lobal.asaasa”文件之外将语句写成子程序的形式文件之外将语句写成子程序的形式或者其他形式。或者其他形式。返回 1)Application_OnStart 第一个请求第一个请求ApplicationApplication对象的页面被调用对象的页面被调用时触发时触发Application_Application_OnStartOnStart事件。一个事件。一个ApplicationApplication对象的对象的OnStartOnStart事件是在事件是在Session_Session_OnStartOnStart事件之前被触发的。事件之前被触发的。2 2)Application_Ap
49、plication_OnEndOnEnd Application_Application_OnEndOnEnd事件只有在服务器被关事件只有在服务器被关闭或者该闭或者该ApplicationApplication应用程序被卸载时才会触应用程序被卸载时才会触发。发。返回返回实用案例3VBScript编程基本技巧 过程命名的技巧 表单控件的操作 3.7 ObjectContext对象对象 该对象没有数据集合,也没有属性。ObjectContext对象是一个以组件为主的事务处理系统,可以保证事务的成功完成。使用ObjectContext对象,就允许程序在网页中直接配合MicrosoftTransact
50、ionServer(MTS)使用,从而可以管理或开发高效率的Web服务器应用程序。返回3.7.1 ObjectContext对象的方法(对象的方法(2个)个)1)1)SetAbort SetAbort 该方法用来中止目前由该方法用来中止目前由ASPASP所产生的交易,并将先前所所产生的交易,并将先前所作处理的交易回归到原来的状态。该方法与作处理的交易回归到原来的状态。该方法与onTransactionAbortonTransactionAbort事件相关联。事件相关联。语法:语法:ObjectContextObjectContext.setAbortsetAbort返回2)setComplet