• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用缓冲区(Buffer)

发布: 2007-7-14 20:06 | 作者: 佚名    | 来源: 网络转载     | 查看: 10次 | 进入软件测试论坛讨论

领测软件测试网


    由于Response 对象的BufferOutput 属性预设为True,所以要输出到客户端的数据暂时都储存在缓冲区内,等到所有的事件程序以及所有的页面对象全部解译完毕后,才将所有在缓冲区中的数据送到客户端的浏览器。接下来我们做个实验来观察缓冲区如何运作:

<Html>
<%
Response.Write("清除之后的数据<Br>")
%>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As Eventargs)
Response.Write("清除缓冲区之前的数据" & "<Br>")
Response.Clear()
End Sub
</Script>
</Html>


    上述程序代码范例首先在Page_Load 事件中送出「清除缓冲区之前的数据」这一行,此时的数据存在缓冲区中。接着使用Response 对象的Clear 方法将缓冲区的数据清除,故刚刚送出的字符串已经被清除。然后IIS 开始读取HTML 组件的部分,最后将结果送至Client 端的浏览器。由执行结果只出现「清除之后的数据」得知,使用Clear 方法之前的数据并没有出现在浏览器上,由此可知程序在一开始是存在缓冲区内。接下来我们将相同的程序中加入「Response.BufferOutput=False 」叙述:

<Html>
<%
Response.Write("清除之后的数据<Br>")
%>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As Eventargs)
Response.BufferOutput=False
Response.Write("清除缓冲区之前的数据" & "<Br>")
Response.Clear()
End Sub
</Script>
</Html>


我们可以发现执行的结果并没有因为使用Clear 方法而将缓冲区的数据清除,这表示数据是直接输出而没有存放在缓冲区内。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网