看了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查半天了。