看了BearRui(AK-47)兄弟的高性能WEB开发(11) - flush让页面分块,逐步呈现,发现是用的jsp做的例子。没搞明白在asp.net下怎么做这个玩意,从msdn查了查发现这个东西Response.Flush()。
同样的代码贴过来
<div id="head" style="border:1px solid #ccc;">
cnblogs logo <img src="http://home.cnblogs.com/images/logo_cnblogs_sns.gif" />
</div>
<br />
<div id="content" style="border:1px solid blue;">
<%
// 睡眠3秒
Thread.Sleep(3000);
%>
csdn logo<br />
<img src="http://csdnimg.cn/www/images/csdnindex_piclogo.gif" />
</div>
这样的情况下不用说了,3秒后才能显示页面之前一片空白
然后加上Response.Flush()
<div id="head" style="border:1px solid #ccc;">
cnblogs logo <img src="http://home.cnblogs.com/images/logo_cnblogs_sns.gif" />
</div>
<%
Response.Flush(); // flush response,分块输出
%>
<br />
<div id="content" style="border:1px solid blue;">
<%
// 睡眠3秒
Thread.Sleep(3000);
%>
csdn logo<br />
<img src="http://csdnimg.cn/www/images/csdnindex_piclogo.gif" />
</div>
这样是先出上面一个logo然后sleep 3秒出现面的logo,呵呵,学到知识了分块输出,蛮简单。
我够笨啊!才发现那篇博客的评论里有兄弟说了可以用Response.Flush(),我要早勤劳点看看评论就不用msdn查半天了。