提高asp程序访问速度的方法

时间:2008-10-23 16:37:00 

用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
0
投稿

猜你喜欢

  • asp javascript picasa相册外链批量导出

    2011-03-30 10:52:00
  • 网站浏览器兼容的底线

    2007-12-22 11:26:00
  • 通过排序引导用户的行为方式

    2008-05-17 09:30:00
  • asp无组件上传并插入到数据库里

    2008-10-24 10:04:00
  • 交互设计实用指南系列(7)–避免迷路

    2010-01-23 09:52:00
  • ORACLE数据库查看执行计划的方法

    2012-06-06 20:15:52
  • Javascript编写Asp时需要注意的一些地方

    2008-04-06 14:20:00
  • 如何在Access数据库中立即得到所插入记录的自动编号?

    2010-06-17 12:45:00
  • MySQL数据库管理必备工具 phpMyAdmin 3.0

    2008-12-10 14:12:00
  • 浅谈javascript面向对象编程

    2009-03-03 12:04:00
  • SQL0290N表空间状态问题:停顿的独占处理

    2008-12-26 17:24:00
  • 我跟iframe之间的误会

    2008-03-17 13:30:00
  • access改mdb为asp所带来的灾难 附mdb防下载方法

    2011-03-03 11:07:00
  • 智能录入表格[适合BS模式项目的录入页面]

    2008-03-09 19:02:00
  • 将MySQL 5.0下的数据导入到MySQL 3.23中

    2009-01-04 13:02:00
  • javascript面向对象技术基础(四)

    2010-02-07 13:15:00
  • 你的网页“面目全非”过吗?

    2010-07-02 16:24:00
  • 通过XSL转换XML文件步骤

    2008-01-27 16:03:00
  • Facebook是如何设计的[译]

    2009-09-17 13:10:00
  • 一个asp正则替换的方法

    2008-11-25 14:05:00
  • asp之家 网络编程 m.aspxhome.com