网站制作学习网ASP→正文:提高ASP性能的技巧
字体:

提高ASP性能的技巧

ASP 2008/2/2 8:22:57  点击:不统计

脚本大块化和Response.Write语句

VBScript语法<% = 表达式 %>把“表达式”的值写到ASP输出流中;但如果响应缓冲没有打开,每个这样的语句都会想浏览器写数据,就把网络流分成很多小的包。这样会慢。同样,零星的小段脚本和HTML导致频繁的在脚本引擎和HTML之间切换,降低了性能。因此,应该使用以下技巧:把小块内嵌表达式改成调用Response.Write。例如,在下面的例子中,每行的每个字段都向响应流中写数据,并且每行都在VBScript和HTML中切换:



<table>

<% For Each fld in rs.Fields %>

  <th><% = fld.Name %></th>

<%

Next

While Not rs.EOF

%>

 <tr>

 <% For Each fld in rs.Fields %>

  <td><% = fld.Value %></td>

 <% Next

 </tr>

 <% rs.MoveNext

Wend %>

</table>



下面是更有效的代码,每行只向响应流中写一次。所有的代码包含在一个VBScript块中:



<table>

<%

 For each fld in rs.Fields

   Response.Write ("<th>" & fld.Name & "</th>" & vbCrLf)

 Next

 While Not rs.EOF

  Response.Write ("<tr>")

  For Each fld in rs.Fields %>

   Response.Write("<td>" & fld.Value & "</td>" & vbCrLf)

  Next

  Response.Write "</tr>"

 Wend

%>

</table>



当响应缓冲被禁止时,这个技巧非成的有效。最好打开响应缓冲,然后再看看批量地Response.Write对性能的提高。



(在特定情况下,生成表的嵌套循环(While Not rs.EOF...)可以用GetString函数来替换)

·上一篇:提高ASP性能的技巧 >>    ·下一篇:何避免重复定义数组 >>
推荐文章
最新文章