ASP提速的方法技巧

http://xue8.net 2006-10-27 23:55 来源:学吧
文章来自于【学吧】http://xue8.net/program/view.asp?ArticleID=1531
  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
  
1 2

发表评论

用户名:
密 码:
匿名评论
请发表评论时遵纪守法并注意语言文明!
验证码:
用户名
评论内容
目前尚无评论!