5.7 ASP提速技巧

2016-02-19 14:02 5 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐5.7 ASP提速技巧,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

技巧之一:提高使用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

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


技巧之四:优化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则是不
可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性
能上考虑,不应在同一页面中混用多种脚本引擎。

 

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

来源:http://www.tulaoshi.com/n/20160219/1606026.html

延伸阅读
没有哪个成功的Web项目是在设计师和开发无法流畅沟通的前提下搞定的,协作才是做好项目的基础。 我曾看到经验丰富的设计师和开发者因为沟通不畅和误会导致项目失败,也见过新手设计师和开发团队一起通过高效协同,做出惊艳无比的设计项目。在项目之初充分的磨合,能让项目在后续的快速迭代中更为流畅。足够和谐的沟通不仅有利于工作,而且能让...
标签: windows 操作系统
  以往我们经常使用"碎片整理"使Windows运行的更快.但现在市场上出售的7200转硬盘,在寻道和传输两方面做了改进,有很多型号还附带有一个8M缓存,而且WinXP使用的NTFS文件系统比FAT系统更有效率。因此,"碎片整理"对提升电脑性能的作用已经非常有限。下面给出能够大幅提升电脑性能,让WinXP运行更快捷 、更可靠的23招实用技巧,希望...
标签: 浏览器
傲游浏览器多标签操作提速技巧 多标签模式已经成为世界浏览器的主流,标签操作、管理方式也成为浏览器之间最显著的差异之一。无论用户是只打开两、三个标签,还是喜欢一次打开数十个标签,傲游浏览器均能保证顺畅的浏览体验,并为用户提供了一些小技巧,让多标签使用起来更加自如。 连续打开多个标签 看新闻、逛论坛、欣赏图库...
首先介绍一个下载器--aria2。 以前有一个叫做aria的下载器,有图形界面的。但是这个aria2似乎和这个aria并没有什么关系。它是命令行模式的下载工具。 pacman -S aria2 可以直接从extra仓库中安装这个软件。该软件支持多种下载方式(协议):HTTP/HTTPS/FTP/BitTorrent/Metalink 前4种就不必我介绍了,这里重点介绍Metalink。什么是Metalink...
标签: 电脑入门
Excel单元格中输入的数据默认都是只有一行的,要让输入的数据在单元格内换行有两种方法。 其一,在单元格中输入数据时,只要按下Alt+Enter组合键即可直接在单元格光标所在处换行。 其二,选定需要换行的单元格,在开始选项卡中单击对齐方式区域右上角的自动换行图标,以后当此单元格中的文本内容超出单元格宽度时就会自动换行。自动换行只对...

经验教程

785

收藏

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