ASP提速技巧五则

2016-01-29 18:40 1 1 收藏

ASP提速技巧五则,ASP提速技巧五则

【 tulaoshi.com - 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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/)


技巧之二:直接访问适当的集合

如果不是别无选择,否则不要使用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

可以用改写为下面的代码以加快执行:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/)

set GcMc=RsGc("GcMc")
set GcCode=RsGc("GcCode") 
While Not rsGc.EOF Response.Write "工程名称:" & GcMc & "(工程代码:" & GcCode & ")
" RsGc.MoveNext 
Wend

新的代码建立了对象变量的引用,所以可以使用对象变量而不是实际的变量,这意味着脚本引擎的工作减少了,因为在集合中进行索引的次数变少了。


技巧五:不要混用脚本引擎

我们知道,ASP页面中既可以使用VBScript,也可以使用JScript。但是在同一个页面上同时使用JScript和VBScript则是不可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性能上考虑,不应在同一页面中混用多种脚本引擎。

 

来源:https://www.tulaoshi.com/n/20160129/1506788.html

延伸阅读
标签: Web开发
技巧1 XmlNode.InnerText与.InnerXml的区别是:前者将内容中的和分别变成和,因此,希望将两段 XmlDocument 合并的程序只能使用  XmlDocumentFragment.InnerXml = XmlNode.OuterXml 技巧2 /XPath: string end-with  xsl:for-each select="root/data[substring-after(@name,'.')=  'Text&#...
标签: 办公软件
在WORD中计算某一字符串出现的次数 在WORD中怎样统计某个字符串在文章中出现的次数呢?可以这样做:使用“替换”对话框,在“查找内容”和“替换为”的对话框中填入欲统计的字符串,按“全部替换”命令。执行完命令后,WORD会弹出对话框提示有XX个被替换(XX就是该字符串出现的次数)。 在WORD中查找上次编辑时的位置 如果你正在编...
标签: windows 操作系统
Win XP中为重要文件设置专用文件夹 如果Win XP中的用户比较多,为了安全,我们可以将某些文件夹设置成个人专用文件夹,别人无法查看与更改专用文件夹中的内容。不过,在使用该项功能之前,你的驱动器分区格式必须是NTFS格式。 打开“我的电脑”,然后双击打开C盘中的“Documents and Settings”文件夹,并选择指定的...
标签: 网页播放器
暴风影音》算是目前国内比较有影响力的一款音视频播放软件,看得出它已经拥有了很多铁杆级的“影友”,今天我们来挖掘一些它的新技巧。 影友速成第一招:快速清除播放的“历史记录” 《暴风影音》菜单中的第一个“快速打开文件”选项能把我们最后一次打开影音文件的存放路径给暴露出去,你想清除的话,只要打开“选项”对话框切换到“播放器...
标签: autocad教程
    在计算机辅助设计软件中,AutoCAD无疑是应用最普遍的,每个工程技术人员都有一些自己的使用经验。其中有些经验不易直接从书籍获取,也难靠自己摸索得来。下面介绍笔者多年来积累的一些教学经验技巧,在实际应用中合理地使用这些技巧能大大提高绘图的效率和质量。 一、妙用夹点编辑命令     在使用夹点编辑...

经验教程

912

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部