当前位置:首页 > 日记 > 正文

asp系列(九)设置对象范围

asp系列(九)设置对象范围
对象的确定的脚本可以通过对象使用的范围。默认情况下,当你创建一个对象的实例,对象有一个页面范围。在同一个ASP页面脚本命令可以使用页面对象的范围;当ASP页面发送回客户端,释放对象对于大多数对象,推荐的范围是页面范围。你可以改变一个对象,它可以通过其他网页脚本的使用范围。本课题将解释如何使用页面对象的范围以及如何改变对象的范围。
U3000
使用页面范围对象

在ASP页面server.createobject创建的对象存在于页面的寿命。对象是页面上的脚本命令的访问,并释放对象时,ASP完成页。因此,该对象具有页面或生命周期的范围。
用Visual Basic或VBscript编程时,不小心在ASP完成的网页发布的对象。例如,下面的语句通常用于通过一个什么值分配一个对象变量释放对象:
集myobj时=没有

如果你有这句话在ASP页面,任何试图使用myobj时将返回一个预期的错误代码。但在内部,即使在释放对象,ASP仍持有对它的引用。当你不能在脚本中使用一个对象,该对象的资源不到ASP了发布页面。同样的,如果你释放该对象创建另一个对象的实例并将其分配给对象变量,ASP将原始对象实例的引用保留。对于大多数的脚本,创建多个对象可能不会造成问题,但如果对象使用的共享资源,如连接可能有问题。
因为对象有一个页面范围,所以不依赖于手动释放的对象。例如,下面的循环创建了1001个连接对象,这些对象可以打开大部分连接,甚至可以打开大型SQL服务器:

对于我= 0比1000

设置conn = server.createobject(数据连接)

康涅狄格州打开连接字符串

下一个

%>

一般来说,应该尽量避免在循环中创建对象。如果不能避免,应该手动释放对象所使用的资源。如果连接对象只创建一次,并且每个周期中的物理数据资源连接是打开和关闭的,那么这将是正常操作:

设置conn = server.createobject(数据连接)

对于我= 0比1000

康涅狄格州打开连接字符串

康涅狄格州接近

下一个

%>

将会话范围分配给对象

在应用中,每一个新的会话,会话范围对象的创建和释放会话结束后。因此,每个活动会话的会话范围内有一个对象,用于从多个脚本调用的对象,但只有一个用户会话的影响。你可以给对象的会话范围的只有你需要它。如果你需要使用会话作用域,您必须了解线程模型提供的对象,因为它影响和对象的安全环境的性能。有关详细信息,请参阅本主题的先进性能问题的信息。
给会话作用域的对象,在ASP会议上,存储对象建立对象,你可以在Global.asa文件中使用的标记,或者你可以使用server.createobject方法创建会话作用域的对象实例的ASP页面。
在Global.asa文件,你可以将runat属性(设置为服务器)和范围属性(必须设置为会话);对象>标记。下面的示例创建一个广告对象的会话范围实例:

一旦将对象存储在会话对象中,就可以从应用程序的任何页面访问对象:
在ASP页面中,您还可以使用server.createobject方法在建立的会话对象中存储的对象。下面的示例存储在会话对象中的广告对象的一个实例。
要显示广告,您应该首先获取存储在会话对象中的AD旋转对象的实例,然后调用该方法来显示对象:

ASP不前,它是由一个脚本命令引用的ASP文件创建一个标注对象的一个实例,server.createobject方法直接创建对象实例,因此,标记的使用比server.createobject属性为会话范围对象。
将应用程序范围分配给对象

应用范围对象的单个实例的对象时创建的应用程序已启动。这个对象由所有客户端请求共享。只在少数情况下,你需要给应用程序范围的对象。一些实用的物品,如柜台,可能需要的应用范围。但一般来说,你可以使用的替代方案,你的建议在下一节。此外,线程模型的影响和对象安全环境的性能(参阅本主题:先进的信息的性能问题)。
指定应用范围对象和存储在ASP内置对象,你可以在Global.asa文件中使用的标记,或者你可以使用ASP页server.createobject方法创建对象实例的应用范围。
在Global.asa文件,你可以将runat属性(设置为服务器)和范围属性(必须设置为会话);对象>标记。在ASP页面中,您可以使用server.createobject存储对象实例应用程序内建对象,使用标记和server.createobject例子,看给会话范围为对象的一部分。
会话和应用范围的替代方案

会话或应用范围可以给对象只有当它是必要的。这些对象保存到会话或应用程序结束。它们占用的资源如内存或连接,这些资源可能在其他方面更加有用。另外,线程模型影响的对象你创造出来的的性能,尤其是那些具有会话或应用范围。
在许多情况下,一个更好的方法来创建对象比创建应用程序或会话作用域的对象是传递信息创建在Web层面运用会话或应用程序作用域变量的对象。例如,不指定会话或应用程序使用ADO连接对象,因为他们创造的连接将在相当长的一段时间保持开放,当脚本通过ODBC连接不再共享。但你可以存储在会话或应用程序的内置对象ODBC连接字符串,并从网页上创建对象实例的连接字符串,你可以存储在会话或应用程序命名空间经常使用的信息,但只有在需要的时候,你创建对象,使用这信息。
用户定义的Jscript对象

你可以通过定义一个构造函数,创建并初始化新对象的属性和方法,创建自己的Jscript对象。当脚本调用的构造函数使用new运算符,创建该对象的实例。ASP脚本支持用户定义的对象,它的正常运行时,页面有一个页面范围内。但是如果一个应用程序或会话范围给出定义的Jscript对象的用户,它可能会影响物体的功能。特别是,如果一个对象有一个会话或应用范围,其他页面的脚本可以得到对象的属性,但它不能调用它的方法。
高级信息:性能问题

线程模型可能会影响Web站点的性能。通常,带有两个标记的对象都是所有ASP脚本中推荐的对象,尤其是在会话和应用程序对象中。
因为您可能并不总是控制所使用对象的线程模型,下面的指南可以帮助您获得最佳性能:
页面范围对象。具有两个或两个单元标记的对象将给您最佳性能。

应用程序范围的对象。一般来说,你应该避免配售对象在应用程序对象。如果你真的需要使用应用程序范围的对象,你从一个标签相结合的freethreadedmarshaler对象获得最佳的性能。你可以使用一个标记或server.createobject方法来存储一个对象与一个单一的,自由的,或标签在应用对象,你必须使用单元线程对象使用的标签。

会话对象。与标记物将为您提供最好的性能。单线程单元线程对象使得Web会话线程锁上。自由线程对象不锁的会话,但不运行在一个较高的速度。在会话对象,您可以存储对象的任何一个标记或server.createobject方法。

如果您安装了SDK文档,您将获得关于线程模型及其隐含性能的详细信息(SDK文档在Windows 95和后续版本中不可用)。

相关文章

手机短信防伪技术帮助您轻松了解假

手机短信防伪技术帮助您轻松了解假

手机短信,假货,防伪技术,轻松,电脑软件,本报讯记者山石只需要发送一条手机短信,就可以知道产品是真是假。上海郭佳电脑信息有限公司近日对外宣布,高科技防伪技术--企业商品数字身份证系统已经正式完成,并已开始批量生产投入市场。企业商品数字…

自定义Win7系统显示字体大小设置图

自定义Win7系统显示字体大小设置图

系统,自定义,设置,显示,字体大小,现在很多液晶显示器都是16:9的比例。如果标准分辨率设置,如果你觉得文字太小,你可以通过设置在Windows7自定义DPI功能设置字体大小。方法是:单击开始-控制面板-外观和个性化-点击显示} { }设置自定义文本大小…

调查显示,广州的互联网接入率为73%

调查显示,广州的互联网接入率为73%

互联网,广州,调查显示,率为,电脑软件,根据商务部的资料,调查显示,广州家庭电脑普及率为73.5%,家庭上网率也位居全国前列。 广州基本上与北京、上海处于同一水平,但发展道路不同于北京和上海。广州企业更加务实和理性,这是广州市民的实际性质有…

基于ASP的新闻标题广告管理系统(三)

基于ASP的新闻标题广告管理系统(三)

管理系统,新闻标题,广告,电脑软件,ASP,三。显示广告 这部分程序主要有四个目的:一是参考级显示广告,广告显示随机选择;第二,显示广告更新次数;第三、横幅广告输出HTML代码;第四、点击显示并保存历史记录在历史表中。 实现上述功能有两个主要脚本: …

办公室内部未公开的参数

办公室内部未公开的参数

参数,未公开,办公室,电脑软件,人谁使用办公室知道有两处开始菜单快捷键,一个是创建新的Office文档,一个是开放的办公文件。两捷径是由相同的启动文件osa.exe(Office 2000 osa9 .exe)分别与N和F建立,实际上osa.exe和未公开的参数,可以创建一个快捷…

Windows7操作系统盘可以作为一个U

Windows7操作系统盘可以作为一个U

操作,系统盘,作为一个,电脑软件,Windows7操作系统盘可以作为一个U盘 新大陆的Windows7新CD可以当U盘要完成斗争的CD保存的发现,没有Xianggang,不到一个星期就找到一个惊喜! 在Windows7,空盘可以格式化成UDF系统格式U盘可以读取和写入多次编辑…

办公室实用技能(11)

办公室实用技能(11)

技能,办公室,电脑软件,1,在excel页眉中设置斜线: 2、在excel中插入水印: 三.在Excel中设置图片作为背景: 4。在Excel单元格中大写金额: u5047 U3000 U3000(u8bbe u5bf9a1 u4e2d u7684 u6570 u5b57 u8fdb u884c u8f6c u6362 uff09 =如果(圆(A1,2)<0…

谁更牛微软、谷歌和雅虎在线翻译的

谁更牛微软、谷歌和雅虎在线翻译的

雅虎,在线翻译,电脑软件,谁更牛,在线翻译可以说是一个很大的帮助,用户浏览网页,近日,微软发布了Windows在线翻译服务现场测试版,对于在线翻译领域增加了一个干将!Windows的介绍现场翻译进一步改善微软的在线服务。此前,雅虎和谷歌已经公布了自己…

迅雷宣布因欧债危机取消赴美IPO

迅雷宣布因欧债危机取消赴美IPO

取消,迅雷,赴美,危机,电脑软件,在10月14日的新闻中,星期四向美国证券交易委员会递交了一份申请,取消先前的IPO计划。 迅雷说,取消IPO计划的原因主要是由于欧洲债务危机的恶化和美国经济的疲软。今年六月,首次公开发行股票申请,计划融资2亿美元,美…

在补丁解决多时钟解决方案后,使用36

在补丁解决多时钟解决方案后,使用36

安全卫士,解决方案,补丁,电脑软件,如果您的计算机没有补丁,每次计算机正在运行时,360安全卫士将提示您更新补丁程序。修补程序更新后,重新启动计算机并进入系统,但它变得非常缓慢。它可以在20秒内进入系统。现在需要超过一分钟的时间。如果你想…

解决问题--解决硬盘灯闪烁在Window

解决问题--解决硬盘灯闪烁在Window

硬盘,闪烁,解决问题,和谐,电脑软件,winodws7跑得快。阅读和写作是对硬盘频繁。所以在安装Windows7,你会发现硬盘灯一直闪烁。这主要是由于在Windows7加速硬盘操作的某些服务,但有三的服务,我们可以停止。 右击{计算机管理开始在Windows防御、…

如何设置Windows7自动锁屏win7气泡

如何设置Windows7自动锁屏win7气泡

设置,锁屏,气泡,方法,如何设置,当人们离开电脑时,电脑会自动锁定屏幕,防止其他人移动电脑。它可以通过设置Windows 7屏幕保护程序来设置。 桌面空白处右击选择{ }个性化上,选择右下角的屏幕保护程序{ }在个性化的弹出窗口,然后设置选择{ }或其…