`
zhaohaolin
  • 浏览: 1018876 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
<!----> <!---->

 <!---->
 来    源: 互联网
 作    者: 不祥
 发表日期: 2005-12-17 14:40:00
 阅读次数: 460
 文章标题:ASP → ASP 代码优化
 查看权限: 普通文章
 查看方式: 查看:[ 大字 中字 小字 ] [双击滚屏]
 正    文:
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中的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+access,代码优化

    1. **ASP代码优化**: - **减少冗余代码**:删除无用的变量声明、空行和注释,精简代码。 - **避免全局变量**:过度依赖全局变量可能导致内存泄漏和数据冲突,尽量使用局部变量。 - **优化循环结构**:使用更高效...

    ASP编程代码优化

    在ASP编程中,代码优化是提升网站性能和用户体验的关键环节。以下是对ASP编程基础语法和优化策略的详细阐述: 一、基础语法 1. **响应对象Response**:ASP中的Response对象用于向客户端发送数据,例如输出HTML文本...

    ASP.NET中错误处理代码优化--vs2003

    "ASP.NET中错误处理代码优化--vs2003"这个主题主要关注如何在ASP.NET环境中,特别是在Visual Studio 2003下,对错误处理代码进行优化,提高应用的健壮性。 1. 错误处理的重要性:错误处理是程序开发的关键环节,...

    专用 ASP 代码 调试 工具

    "专用 ASP 代码 调试 工具"显然是为了帮助开发者更有效地定位和修复ASP代码中的问题。 ASP代码调试工具有以下关键功能: 1. **错误检测**:工具能够识别并标记出ASP代码中的语法错误,如拼写错误、缺少的括号或...

    ASP代码生成器(强大的ASP代码生成器)

    - **代码优化**:生成的代码通常会遵循最佳实践,避免常见的性能问题。 - **易于集成**:生成的ASP代码易于与其他系统或模块集成,促进项目的整体开发。 6. 使用流程:首先,配置数据库连接参数,如数据库类型、...

    asp代码解密工具

    解密后的代码可以帮助理解原有的业务逻辑,进行代码优化或迁移至新的平台。 总的来说,ASP代码解密工具是针对加密ASP代码的一种辅助工具,它能够帮助开发者揭示隐藏在加密层下的程序逻辑,以便于代码的调试、维护和...

    微软建议的20种代码优化方法

    这些建议旨在帮助开发者编写更高效、更可靠的ASP代码,提升整体系统的性能。优化不仅限于代码层面,还包括了对服务器配置、数据存储和网络通信的综合考虑。遵循这些最佳实践,可以有效地提升ASP应用的运行效率和用户...

    专用ASP代码调试工具

    "专用ASP代码调试工具"就是为了帮助开发者高效、准确地定位和解决ASP代码中的问题而设计的。 传统的ASP调试方法通常依赖于IIS(Internet Information Services),这是一个功能强大的Web服务器,能够运行ASP应用...

    asp 自动生成数据库操作代码

    自动生成数据库操作代码的工具则能解决这个问题,它可以根据数据库结构自动生成相应的ASP代码,使得开发者可以快速地实现数据的增删改查功能。 这些工具通常会提供以下功能: 1. **数据库连接**:自动生成连接...

    ASP代码调试工具

    这款工具的安装过程非常简单,只需要将压缩包内的"ASP代码调试工具.exe"文件复制到你的源码文件夹内,然后双击运行,无需复杂的安装步骤,符合绿色软件的特性,即下载即用。 使用ASP代码调试工具,开发者可以: 1....

    ASP代码转PHP代码V1.0

    "ASP代码转PHP代码V1.0"是一款工具,其主要功能是帮助开发者将原有的ASP代码快速地转换为PHP代码,以适应项目从ASP平台向PHP平台迁移的需求。 【ASP与PHP的差异】 1. **语法差异**:ASP主要基于VBScript或JScript...

    ASP图片上传代码(非常实用的哟!)

    4. **文件存储**:验证通过后,ASP代码会将图片保存到服务器的指定目录。通常会生成一个随机或唯一的文件名,以避免文件重名问题。同时,也要考虑文件权限和安全设置,防止未授权访问。 5. **数据库记录**:为了...

    asp代码行数统计器

    使用"asp代码行数统计器"可以辅助开发者进行代码质量管理,通过比较不同阶段的代码行数变化,可以发现代码膨胀的问题,从而进行代码重构和优化。同时,它也可以帮助管理者监控项目的进展,确保项目按计划进行。总的...

    asp 优化版企业网站源代码

    【企业网站源代码优化】 企业网站源代码优化主要关注以下几个方面: 1. **性能优化**:通过减少HTTP请求,合并CSS和JavaScript文件,优化图片大小,使用CDN(内容分发网络)等方法来提高页面加载速度,提升用户...

    ASP代码加密大师(正式版)

    使用ASP代码加密大师的正式版,开发者可以享受到更高的代码保护级别,这可能包括更复杂的混淆策略,更严格的运行时检测,以及更好的兼容性和性能优化。同时,正式版可能还提供技术支持和更新服务,确保随着技术的...

    Asp.net动软代码自动生成器

    总之,Asp.NET动软代码自动生成器是一个强大且实用的工具,它结合了Asp.NET框架的特性,提供了一种高效的方式来自动化编码任务,使得开发者能够更专注于创新和优化,而不是基础的代码编写。无论你是初学者还是经验...

    ASP.NET完整项目源代码

    ASP.NET是一种由微软开发的服务器端Web应用程序框架,用于构建动态网站...通过研究这些项目,你可以学习到如何组织代码结构、如何处理用户交互、如何优化性能,以及如何利用ASP.NET的强大功能来创建复杂的Web解决方案。

    ASP博客制作源代码

    ASP博客制作源代码是针对初学者和Web开发者提供的一个实用资源,主要涵盖了使用ASP(Active Server Pages)技术创建博客系统的基础知识。ASP是一种基于服务器端的脚本环境,它允许开发人员通过HTML、VBScript或...

    asp聊天室完整原代码

    【ASP聊天室完整原代码】是一个面向初学者和专业开发者提供的资源,用于了解和学习如何构建基于ASP(Active Server Pages)技术的在线聊天室。ASP是微软开发的一种服务器端脚本语言,允许开发者创建动态、交互式的...

Global site tag (gtag.js) - Google Analytics