ASP优化

asp

2008-03-27 14:10

规则概括
   * 避免内联ASP的过多使用。           <%= %>

   * 总是将连续Response.Write 语句连接进一个单独语句内。

   * 永远不要在Response.Write 周围使用包装函数以附加CRLF。

   * 如果必须格式化HTML输出,直接在Response.Write 语句内附加CRLF。

   * 总是通过服务器设置开启缓冲器。

   * 只要使用适度,ASP注释对性能的影响很小或根本没有影响。

   * 设置服务器的默认语言配置以与站点上使用的语言相匹配。

   * 除非你使用非默认语言,不要设置语言声明。

   * 在VBScript中总是使用Option explicit 。

   * 在不需要的情况下,总是在页面或应用程序的水平上关闭Session状态。

   * 只有当代码在页面之间共享时才使用Include 文件。

   * 在一个页面上,如果代码要使用一次以上,就将代码封入函数区。

   * 适当时候,将变量声明移到函数范围内。

   * 只有会发生超出测试或控制能力之外的情况时才使用错误句柄。

   * 只有当两个或更多操作被作为一个单元执行时,才使用上下文处理。

   现在回顾一下,有许多问题可以作为普遍性的方针:

   * 避免冗余--不要设置那些默认状态下已经设置的属性。

   * 限制函数调用的次数。

   * 缩小代码的范围。

ADO

规则的总结
   现在我们来重新总结一下这些规则:

   * 避免包含ADOVBS.inc文件,用其它方法来使用常量。

   * 当使用一个单个记录集时,将连接字符串传递到ActiveConnection属性中。

   * 在一个页面上使用多个记录集时,创建一个Connection 对象,在ActiveConnection 属性中重复使用它。

   * 使用最适合你的任务的最简单的指针和锁的类型。

   * 通过ADODB.Recordset 类例示记录集以获得最好的性能和最大的灵活性。

   * 除非是一个断开的环境中所要求的,避免使用断开的记录集。

   * 不要对单独设置记录集属性感到担心。

   * 当记录集中的值不需要用一种特殊方式来对待并且能够格式化为一种统一的格式时,使用GetString方法来提取数据。

   * 当你在设计上需要更大的灵活性,但是又不需要用记录集的元数据进行工作,使用GetRows方法将数据提取到一个数组中。

   * 当你需要设计的灵活性和元数据时,在进入一个数据恢复的循环之前,将你的域约束在本地变量中。避免用名字引用域。

   * 不要用临时字符串来收集输出。