Response.Buffer的使用

本文介绍了ASP中使用Response.Buffer属性来控制是否缓冲页输出的方法。当设置为True时,服务器会在整个脚本处理完成后或调用Flush/End方法时一次性发送响应给客户端;反之则边处理边发送。文中通过示例代码展示了不同设置下的输出行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Buffer

Buffer 属性指示是否缓冲页输出。当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 FlushEnd 方法后,服务器才将响应发送给客户端。

服务器将输出发送给客户端后就不能再设置 Buffer 属性。因此,应该在 .asp 文件的第一行调用 Response.Buffer

语法
Response.Buffer [= flag]
参数
flag
指定是否缓冲页输出,可为如下值之一。
说明
FALSE不缓冲。该值是默认值。服务器在处理脚本的同时将输出发送给客户端。
TRUE除非当前页的所有 ASP 脚本处理完毕或调用了 Flush或 End 方法,否则服务器不将响应发送给客户端。

注释

如果当前 ASP 脚本缓冲设为 TRUE ,但未调用 Flush 方法,则服务器将使客户端的请求保持活动。由于服务器不必为每个客户端创建新的连接,从而节省了时间。

不过,缓冲将在服务器未处理完当前页的所有脚本之前阻止在客户端显示响应。对于长的脚本来说,有可能会感觉到延迟。


即当Buffer为True的时候,asp会将这个程序解释完毕后一起发送到客户端,
当Buffer为False的时候,asp会边解析边发送数据.

<% Response.Buffer = True %>这句话的意思就是指明输出页面是否被缓冲,当属性值为True时,服务器将不会向客户端发送任何信息,直到所有程序执行完或者遇到<% Response.Flush %>或<% Response.End %>语句,才会释放缓冲区的信息。

下面的这个代码演示了Buffer的这一特性:

 1None.gif<
 2None.gifResponse.Charset = "gb2312"
 3None.gifResponse.Buffer = "False"
 4None.gifDim str256
 5None.gifstr256 = "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz"
 6None.gif
 7None.gifResponse.Write("开始<br>")
 8None.gifFor i = 1 to 100
 9None.gif    For u = 1 to 1000000
10None.gif    Next
11None.gif    Response.Write(str256 &  "    ")
12None.gif    Response.Write(i & "<br>")
13None.gifNext
14None.gifResponse.Write("结束")
15None.gif%>

如果将Response.Buffer = "False"改为Response.Buffer = "True"则会解析完毕再输出,即输出一个含有1到100的数字的网页

转载于:https://www.cnblogs.com/meil/archive/2007/03/23/685692.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值