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

asp网页提升速度方法5则_asp技巧相关推荐

  1. Mysql删除百万数据提升速度方法

    下图中共有340w条数据. 可以看到Data Length 数据占用大小为737.4MB 方法:删除主键外其他索引,之后进行删除数据,删除完毕后,重建索引. 三次实验结果: 存在索引:耗时96.1s, ...

  2. asp开发中存储过程应用全接触 _asp技巧

    ASP与存储过程(Stored Procedures)的文章不少,但是我怀疑作者们是否真正实践过.我在初学时查阅过大量相关资料,发现其中提供的很多方法实际操作起来并不是那么回事.对于简单的应用,这些资 ...

  3. 网页访问速度的关键问题和解决方法

    网站访问速度可以直接影响到网站的流量,而网站的访问量几乎与网站的利益直接挂钩,因此网站的速度问题成为企业及站长十分关注的问题.现在网站越来越多,不少朋友的网站打开速度很不理想.也许自己打开网站速度很快 ...

  4. 网页优化速度的7种方法

    网站优化是指通过对网站功能.网站结构.网页布局.网站内容等要素的合理设计,使得网站内容和功能表现形式达到对用户友好并易于宣传推广的最佳效果,充分发挥网站的网络营销价值,是一项系统性和全局性的工作,包括 ...

  5. html优化网站的方法,利用HTML优化加快网页速度方法介绍

    减少web页面下载时间的关键就是设法减小文件大小.当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的.js文件,然后再 ...

  6. ASP木马提升权限的N种方法

    ASP木马提升权限的N种方法 Submitted by cooldiyer on 2006, July 6, 11:53 AM. 技术 一.Serv-U提权     OK,看看他的PROGRAME里面 ...

  7. html网页打开慢的解决方法,网页打开慢怎么办 影响网页打开速度因素有哪些【解决方法】...

    网页打开慢怎么办? 有时候本地网络速度太慢,过多台电脑共享上网,或共享上网用户中有大量下载时也会出现打开网页速度慢的问题. 下面,我们就来看看影响网页打开速度的因素. 一.影响网页打开速度的因素主要有 ...

  8. 小米手机如何把数据备份到电脑上?目前可行的备份方案有哪些?附【多种方法助力小米(安卓)手机提升速度。】

    方法一:将手机数据备份到电脑上 一:对于应用数据:手机设置--其他高级设置--备份与重置.完成本地备份后,将手机存储中"MIUI/backup/AllBackup"路径下的备份文件 ...

  9. 织梦dedecms 静态网页生成速度很慢的解决方法

    织梦dedecms 静态网页生成速度很慢的解决方法,从dedecms官网论坛找到个合适的代码: 打开 include/inc/inc_fun_SpGetArcList.php 找到: for($i=0 ...

最新文章

  1. Android Application中的Context和Activity中的Context的异同
  2. difftime(转)
  3. [转载]Memcache内存临界测试
  4. shiro扩展获得用户登录类型并提供cookie的方式记住用户密码
  5. android-hotfix(QQ空间思路)浅析
  6. 微软一站式示例代码库(中文版)2011-07-14版本, 新添加ASP.NET, Azure, Silverlight, WinForm等14个Sample...
  7. Razor 视图引擎学习
  8. 一般柱子与柱子的距离_97讲珠宝展柜制作厂家谈谈珠宝展柜一般的尺寸是多少...
  9. 如何让你的SQL运行得更快(一)
  10. 在线最小公倍数计算器
  11. apache配置好后编译rewrite
  12. java 正则表达式 img src_腰酸推荐Java-Jsoup爬取妹子图
  13. JavaScript小练习2
  14. 航班网站php项目,php的实时航班api调用代码实例
  15. A+B,氵题一道,84种解法!大佬羡慕
  16. 台式计算机usb口不能用,电脑USB接口没反应如何解决教程
  17. uni-app 调用讯飞语音。
  18. python 工资减税_Python告诉你个税抵扣能省多少钱?
  19. (转)A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
  20. 音频数据的建模全流程代码示例:通过讲话人的声音进行年龄预测

热门文章

  1. 图形处理(三)简单拉普拉斯网格变形-Siggraph 2004
  2. Python基础教程(十):CGI编程、MySQL数据库
  3. vim在每行行首或行尾添加/删除内容
  4. Flink开发环境搭建(maven)
  5. 定域性和实在性之矛盾的世界
  6. C++ 强制类型转换(转载)
  7. tomcat启动不了,报java.lang.Exception: Socket bind failed: [730013] ???
  8. cocos2d-x按钮CCControlButton的用法
  9. ExtAspNet 主题赏析 - 7款 超炫!
  10. Linux中常用到的命令