ASP提速技巧五则

技巧之一:提高使用Request集合的效率 访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。例如将代码写成下面的形式以加快脚本引擎处理速度: strTitle=Request.Form("Title") strFirstName=Request.Form("FirstName")  strLastName=Request.Form("LastName")  If Len(strTitle) Then strTitle=strTitle & " "  If strFirstName="" Then strFullName=strTitle & " " & strLastName  Elseif Len(strFirstName)=1 Then strFullName=strTitle & strFirstName & ". " & strLastName Else strFullName=strTitle & strFirstName & " " & strLastName  End If 技巧之二:直接访问适当的集合 如果不是别无选择,否则不要使用strPage=Request("page")的这样的形式来获取参数,因为这将按顺序搜索全部的集合—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称。这样做比直接访问适当的集合效率低,并且是不安全的,除非能绝对保证这个值不会出现在另外一个集合中。 例如,可能希望搜索满足客户请求的WEB服务器名称,这通过出现在每个查询中的Request.ServerVarables集合中寻找“SERVER_NAME”来实现。然而,假如其他的集合也包含名为“SERVER_NAME”的值(键名不区分大小写),当使用Request("server_Name")时,就会得到错误的结果。总而言之,应尽可能直接访问适当的集合。 技巧之三:在费时操作前使用Response.IsClientConnected属性 使用Response.IsClientConnected是观察用户是否仍连到服务器并正在载入ASP创建的网页的有用方式。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为缓冲区内容将被IIS丢弃。所以,对那些需要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查游览者是否已离线: …… Code to create first part of the page If Response.IsClientConnected Then Response.Flush Else Response.End End If …… Code to create next part of page 技巧之四:优化ASP中的ADO操作 通常面言,数据构成了WEB站点的实际内容。所以,优化ADO操作以加速ASP代码执行,十分有用: a. 仅选择所需的列:当打开ADO记录集时,除非需要获得所有的列,否则不应自动地使用表名(即SELECT *)。使用单独的列意味着将减少发送到服务器或从服务器取出的数据量。即使需要使用全部列,单独地命名每个列也会获得最佳的性能,因为服务器不必再解释这些列的名字。 b. 尽可能的使用存储过程。存储过程是预先编译的程序,含有一个已经准备好的执行计划,所以比SQL语句执行更快。 c. 使用适当的光标和锁定模式。如果所做的全部工作只是从记录集中读取数据,并将其显示在屏幕上,那么就使用缺省的只能前移、只读的记录集。ADO用来维护记录和锁定的细节的工作越少,执行的性能就越高。 d. 使用对象变量。当遍历记录集时一个肯定能提高性能的方法是使用对象变量指向集合中的成员。例如: While Not RsGc.EOF Response.Write "工程名称:" & RsGc("GcMC") & "(工程代码:" & RsGc("GcCode") & ") "  RsGc.MoveNext Wend 可以用改写为下面的代码以加快执行: set GcMc=RsGc("GcMc") set GcCode=RsGc("GcCode")  While Not rsGc.EOF Response.Write "工程名称:" & GcMc & "(工程代码:" & GcCode & ") " RsGc.MoveNext  Wend 新的代码建立了对象变量的引用,所以可以使用对象变量而不是实际的变量,这意味着脚本引擎的工作减少了,因为在集合中进行索引的次数变少了。 技巧五:不要混用脚本引擎 我们知道,ASP页面中既可以使用VBScript,也可以使用JScript。但是在同一个页面上同时使用JScript和VBScript则是不可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性能上考虑,不应在同一页面中混用多种脚本引擎。
FGO五月卡池有什么?在FGO的游戏中,五月份国服卡池将会有新的内容上线,很多玩家还不知道FGO五月卡池的内容。今天就为大家带来fgo唠唠叨叨最终本能寺复刻一览!,FGO五月卡池有什么 fgo唠唠叨叨最终本能寺复刻一览
2021-05-07
蝶仙精淘app下载-蝶仙精淘app是一款非常不错的生活购物类手机软件,蝶仙精淘app的超值优惠非常适合广大购物爱好者,感兴趣的小伙伴们快来下载蝶仙精淘app试试吧!,您可以免费下载安卓手机蝶仙精淘。
2020-06-01
罪恶少女诱惑打不开怎么办?不少玩家朋友们在游戏会遇到闪退或弹窗等问题,导致游戏无法正常的运行,下面我们就来看一看罪恶少女诱惑玩不了解决方法一览,希望对各位有所参考和帮助,罪恶少女诱惑打不开怎么办 罪恶少女诱惑玩不了解决方法
2017-01-16
,完美财务一条龙管理:蓝软让您‘钱’途无量
2004-10-08
黑白照片虽然缺失了绚丽缤纷的色彩,却能在视觉上带来另外一种冲击与韵味,好的黑白照片往往比彩色照片更加吸引人。本文提供的教程并不是教您去制作黑白风格的照片,基本上任何图像编辑软件都具有简单的去色调功能,而是教您转换一种美图思路,将不易编辑的照片反其道行之,去除色调。,美图秀秀教程之偏色照片变复古黑白色调
2011-03-14
《暗黑破坏神3》2.4测试服已经开启,玩家们正在火热的进行各种新游戏体验的测试,下面本站为您提供2.4测试服最新翅膀与宠物的演示,暗黑3 2.4新翅膀宠物视频演示 暗黑3宠物和翅膀哪个好看
2015-11-16
英雄无敌手游格鲁怎么样?格鲁是精灵中的神射手,有格鲁在场,记得一定要带上射手兵团哦!那么英雄无敌手游格鲁怎么样呢?下面小编就为各位玩家带来英雄无敌手游格鲁技能属性介绍,一起来看看吧~,英雄无敌手游格鲁怎么样 英雄无敌手游格鲁技能属性介绍
2017-06-13
家园卡拉克沙漠上市没几天,Steam上面好评如潮,然而就在今天,国外知名游戏测评机构IGN对这款游戏给出了8.8的高分评价,称其是一款有深度、足够刺激又变化多端的RTS游戏,它有着一切正确的游戏要素,家园卡拉克沙漠IGN给出8.8高分 一款有情怀够深度的游戏
2016-01-23
小说淘淘直装版,追书爱好者必备神器。支持全网热门小说搜索,实时小说门户网站排行版更新,每天还有各种小说书单推荐,让你再也不会书荒,小说更新章节有快慢的话记得点击换源按钮哦。
2019-10-26
,清除远程桌面连接记录
2008-10-15