| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 编程开发 > ASP教程 > ASP技巧教程 > 文章正文 用户登录
阿里联盟发布yaho
用Google的Gmail收
一个赢利网站站长
地区门户网站分析
Flash Banner 设计
给FLASH初学者的几
MTV制做的几点建议
开发类似微软中国
Microsoft AntiSp
基础知识:网络安

微软建议的ASP性能优化28条守则---[15] 批处理内嵌脚本和 Response.Write 语句           

微软建议的ASP性能优化28条守则---[15] 批处理内嵌脚本和 Response.Write 语句

作者:佚名 来源:pharaohsprince 更新:2006-8-25 21:05:35 错误报告 我要投稿

技巧 15:批处理内嵌脚本和 Response.Write 语句
VBScript 语法 <% = expression %> 将“expression”的值写到 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 调用来替代。)

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。