网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 网站开发-> ASP/ASP.NET-> ASP提速技巧五则

ASP提速技巧五则
作者:佚名 来源:InterNet 加入时间:2003-7-21
相关文章
  • Windows注册表常用技巧十例
  • WORD打印疑难命令释义(1)
  • JavaScript 小技巧全集(二)
  • JavaScript 小技巧全集(一)
  • 用asp.net实现的把本文推荐给好友功能
  • Windows XP--加速篇
  • Linux使用技巧集锦 ZT
  • linux的使用技巧
  • Desktop.ini的妙用
  • 相关书籍:
  • CSS网站布局与开发技巧
  • Delphi编程技巧集锦
  • Delphi技巧仓库
  • Delphi 中文技巧集
  • Delphi 常用技巧及经典教材
  • Delhpi界面编程技巧
  • Delphi7编程技巧与实例精解
  • Visual C++应用技巧与常见问题你问我答
  • C Builder 5编程实例与技巧
  • VB编程技巧集(中)--站长推荐
  • 技巧之一:提高使用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则是不可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性能上考虑,不应在同一页面中混用多种脚本引擎。


    [文章录入员:lpc]

    相关文章
  • Windows注册表常用技巧十例
  • WORD打印疑难命令释义(1)
  • JavaScript 小技巧全集(二)
  • JavaScript 小技巧全集(一)
  • 用asp.net实现的把本文推荐给好友功能
  • Windows XP--加速篇
  • Linux使用技巧集锦 ZT
  • linux的使用技巧
  • Desktop.ini的妙用
  • 相关书籍:
  • CSS网站布局与开发技巧
  • Delphi编程技巧集锦
  • Delphi技巧仓库
  • Delphi 中文技巧集
  • Delphi 常用技巧及经典教材
  • Delhpi界面编程技巧
  • Delphi7编程技巧与实例精解
  • Visual C++应用技巧与常见问题你问我答
  • C Builder 5编程实例与技巧
  • VB编程技巧集(中)--站长推荐
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    ASP/ASP.NET
    ASP/ASP.NET
    PHP技术
    JSP技术
    XML技术
    CGI/PERL
    WEB服务器
    WordPress专题
    其它
    电脑教程阅读排行
    ·用ASP连接数据库
    ·ASP基础
    ·使用Database Acces...
    ·让网站活起来(1)
    ·创建一个简单的ASP页
    ·创建HTML表格
    ·初学者必读 ASP运行环境的搭建
    ·ASP中FSO的神奇功能
    ·VBScript 基础 使用条件...
    ·VBScript 基础 VBSc...