Buffer
Buffer 属性指示是否缓冲页输出。当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务器才将响应发送给客户端。
服务器将输出发送给客户端后就不能再设置 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的这一特性:
1<%
2Response.Charset = "gb2312"
3Response.Buffer = "False"
4Dim str256
5str256 = "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz"
6
7Response.Write("开始<br>")
8For i = 1 to 100
9 For u = 1 to 1000000
10 Next
11 Response.Write(str256 & " ")
12 Response.Write(i & "<br>")
13Next
14Response.Write("结束")
15%>
2Response.Charset = "gb2312"
3Response.Buffer = "False"
4Dim str256
5str256 = "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz"
6
7Response.Write("开始<br>")
8For i = 1 to 100
9 For u = 1 to 1000000
10 Next
11 Response.Write(str256 & " ")
12 Response.Write(i & "<br>")
13Next
14Response.Write("结束")
15%>
如果将Response.Buffer = "False"改为Response.Buffer = "True"则会解析完毕再输出,即输出一个含有1到100的数字的网页