%》
遍历对象集合
Session和Application集合可以保存数量变量或者对象实例。Contents集合拥有数量变量和通过调用Server。CreateObject生成的对象实例。StaticObjects集合拥有在Global。asa文件中使用HTML 元素创建的对象。
在遍历包含对象的集合时,可以访问对象的标识符或对象的方法和属性。例如,假设应用程序使用一些对象创建用户帐号,而且每个对象有初始化方法,可以遍历StaticObjects集合来调用每个初始化方法:
ASP集合有何不同之处?
尽管在本主题中讨论的ASP集合与Visual Basic的Collection对象非常相似,但还是有些不同。ASP集合支持Count属性和Item方法,但不支持Add和Remove方法。
设置对象作用域
对象的作用域决定哪些脚本可以使用该对象。默认情况下,当您创建对象实例时,该对象具有页作用域。同一ASP页中的任何脚本命令都能使用该页作用域的对象;当ASP页送回客户端时,该对象即被释放。对大多数对象来说,推荐的作用域是页作用域。您可以改变一个对象的作用域,使其可被其他页的脚本使用。本主题将解释如何使用页作用域的对象以及如何改变对象的作用域。
使用页作用域对象
在ASP页上用Server。CreateObject创建的对象在该页的生存期内一直存在。该对象对该页的任何脚本命令都是可访问的,当ASP处理完该页时,该对象即被释放。因此,对象具有该页的作用域或生命周期。
在用Visual Basic或VBScript编程时,要注意在ASP处理完该页之前不要释放对象。例如,以下语句经常用于通过将对象变量赋以Nothing值来释放对象:
Set myObj = Nothing
如果您在ASP页中包含了该语句,那么任何使用myObj的企图都将会返回一个预期的错误代码。但在内部,即使在对象释放以后,ASP仍保留对它的引用。当您在脚本中不能使用对象时,对象的资源直到ASP处理完页之后才释放。同样,如果您通过创建另一个对象实例并将其赋给已使用过的对象变量来释
放该对象时,ASP 将保留对原对象实例的引用。对大多数脚本来说,创建多个对象可能不会产生问题,但如果对象使用共享资源,比如数据库连接,就有可能出现问题。
由于对象有页作用域,所以不要依靠手工释放的对象。例如,以下的循环创建1001个Connection对象,它将能打开大多数的连接甚至于一个大型的SQL server:
总的来说,应该尽量避免在一个循环内部创建对象。如果无法避免,您应该手工释放被对象使用过的资源。如果Connection对象仅被创建一次,且数据资源的物理连接在每个循环中被打开然后关闭,那么上例将会正常运行:
为对象赋予会话作用域
在应用程序中,对于每个新会话,都会创建session…scope对象,并且在会话结束后会将其释放。因此,每个活动的会话都有一个对象。会话作用域用于从多个脚本中调用的对象,但只影响一个用户会话。您可以只在需要时才为对象赋予会话作用域。如果确实需要使用会话作用域,那么就必须了解提供对象的组件的线程模型,因为它影响性能和对象的安全环境。详细信息,请参阅本主题的〃高级信息:性能问题〃 。
要为对象赋予会话作用域,请将对象存储在ASPSession内建对象中,您既可以在Global。asa文件中使用标记,也可以在ASP页上使用Server。CreateObject方法创建具有会话作用域的对象实例。
在Global。asa文件中,您可用扩展了RUNAT属性(必须设置为Sever)和SCOPE属性(必须设置为Session)的 标记。以下示例创建一个Ad Rotator对象的会话作用域实例:
一旦您在Session对象中存储了对象,您就可以从应用程序的任何页中访问该对象。下面的语句使用上例中由 标记创建的对象实例:
在ASP页上,您也可以使用Server。CreateObject方法将对象存储在Session内建对象中。以下示例在Session对象中存储Ad Rotator对象的一个实例。
要显示广告,您首先应该获取存储在Session对象中的Ad Rotator对象的实例,然后才能调用方法来显示对象:
在用标记声明的对象被某个。asp文件中的脚本命令引用之前,ASP并不创建其实例。Server。CreateObject方法则立即创建该对象实例。
因此,对会话作用域对象来说,使用标记要比Server。CreateObject属性更好。
为对象赋予应用程序作用域
application…scope对象是在应用程序启动时就创建的对象的单个实例。该对象由所有客户端请求共享。仅在极少数情况下,您才需要为对象赋予应用程序作用域。一些实用程序对象,例如计数器等,可能需要应用程序作用域。但一般来说,您可用在下一节中建议的替代方案。另外,线程模型会影响性能和对象安全环境(请参阅本主题的〃高级信息:性能问题〃)。
要为对象赋予应用程序作用域并将其存储在ASPApplication内建对象中,既可以使用Global。asa文件中的标记,也可以使用ASP页上的Server。CreateObject方法创建应用程序作用域的对象实例。
在Global。asa文件中,您可用扩展了RUNAT属性(必须设置为Sever)和SCOPE属性(必须设置为Session)的 标记。在ASP页中,您可以使用Server。CreateObject将对象实例存储在Application内建对象中。关于使用标记和Server。CreateObject的示例,请参阅上一节〃为对象赋予会话作用域〃。
会话和应用程序作用域的替代方案
仅当需要时,才能为对象赋予会话或应用程序作用域。因为在会话或应用程序结束运行之前,这些对象会一直保留。它们会占用内存或数据库连接等资源,这些资源可能会在其他方面更有用。另外,组件的线程模型会影响您从中所创建的对象的性能,尤其是那些具有会话或应用程序作用域的对象。
在很多情况下,比创建应用程序或会话作用域对象更好的方法就是利用会话或应用程序作用域变量,将信息传递给在网页一级创建的对象。例如,不要为ADO Connection对象赋予会话或应用程序作用域,因为它创建的连接会在相当长的一段时间一直保持打开而此时脚本已不再使用ODBC连接共享。但您可以将ODBC连接字符串存储在Session或 Application内建对象中,并在网页上从创建的Connection对象实例中获取该字符串。通过这种方式,您可以存储在会话或应用程序名称空间中频繁使用的信息,但只有在需要时才创建用该信息的对象。关于作用域变量的详细信息,请参阅〃使用变量和常量〃。
用户自定义的JScript对象
您可以通过定义一个创建和初始化新对象的属性和方法的构造函数来创建自己的JScript对象。当脚本用new操作符来调用构造函数时,就会创建该对象的实例。ASP脚本支持用户自定义的对象,当具有页作用域时,后者正常运行。但如果为用户自定义的JScript对象赋予应用程序或会话作用域,将可
能影响该对象的功能。特别是,若一个对象具有会话或应用程序作用域,则其他页的脚本可以获取该对象的属性,但是却不能调用其方法。
高级信息:性能问题
组件的线程模型可能会影响Web站点的性能,一般来说,带有Both标记的对象是推荐在所
小说推荐
- asp基础入门篇(DOC格式)
- ASP入门与实例-IIS的安装与配置1、运行环境与软件要求Windows 2000 以上(不包括Windows XP Home版)IIS 4.0 以上Microsoft Access 2000Dreamweaver MX2、IIS的安装与配置a.安装IIS若操作系统中还未安装IIS服务器,可打开"控
- 其他
- 最新章:第23章
- 路由器基本知识及应用实例(DOC格式)
- 第二章 路由器第一节 路由器发展概述自从1984年问世至今,路由器已经走过了近20年的快速技术发展历程。路由器的应用领域不断扩展、从单一的互通网关逐渐扩展到覆盖广域网、城域网乃至用户接入的各个领域。近年来,路由器早已逐渐脱离单纯用于企业网出口和互联的概念,开始成为运营网络和各种专用业务网络的核心设备
- 其他
- 最新章:第48章
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 其他
- 最新章:第31章
- JSP入门教程(DOC格式)
- -Page 1-jsp 入门教程0.0.1版权(c 2008 叮咚老菜鸟叮咚对文档的任何问题或建议,请给叮咚发邮件或留言。QQ:475784337QQ 群:51239192MSN:lingirl6@hotmail.EMAIL:lingirl6@hotmail.2008-02-28 20:05:061
- 其他
- 最新章:第37章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章
- Word2003使用技巧大全(DOC格式)
- Word使用技巧(二)表格使用大全更新时间:2009-11-16 19:32:15 本文共阅读了257次 作者:xushezheng 文章来源:电教组字体大小:大中小一、快速插入表格 拖动“插入表格”能插入的最大表格跟该图标位置、显示分辨率有关。如使用800×600分辨率时最大为18行×28列 二、
- 其他
- 最新章:第1章
- Excel word ppt office使用技巧大全(DOC格式)
- -Page 1-Excel_word_ppt_使用技巧大全(完全版)Excelwordppt使用技巧大全(2011新版本)I-Page 2-Excel_word_ppt_使用技巧大全(完全版
- 其他
- 最新章:第338章
- 龙语实用教程
- 作者:犸娜【由文】第一卷 巴萨帝国的鞑鞑草 第一章 河谷的新管家“禁止闯入龙语者摩南;法缪阿之领地”流浪者对着告示上漂亮的花式字体看了又看,终于死心地叹了口气,摸出羊皮地图摊在地上。走进死胡同了,他沮丧地叹息着,慢吞吞地提起探路水晶在地图上滑动。好不容易离开满眼腐烂草木的沼泽地,前面带小路的清爽森林
- 魔法玄幻
- 最新章:第112章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章