Response.Flush和Response.BufferOutput


首先Response.Buffer屬性現在已經過時,它存在的唯一目的僅僅是為了兼容asp。你應該使用Response.BufferOutput屬性來替代它。

Response.Flush方法用來將緩沖區的數據立即輸出到瀏覽器當中。你可以多次調用Response.Flush 方法,當這樣使用時,瀏覽器將多次接受數據,而不是僅接受一次數據。

Response.BufferOutput是一個布爾值,指示是否緩沖輸出並在整個頁面在服務器端處理完畢后才發送緩沖區中的數據。true是其默認值。

服務器端是否緩存數據取決於Response.BufferOutput,當你將Response.BufferOutput的值設為true時,數據會緩存到buffer中,並在頁面處理完畢后,將buffer中的內容一次性全部發到客戶端。如果為false,則不緩沖數據,每執行一個response.write方法,數據就會立即發往客戶端,數據的傳送次數取決於你使用了多少個response.write方法,在這種情況下,使用response.Flush方法是沒有意義的。只用當你將Response.BufferOutput屬性的值設為true時,使用response.Flush方法才有意義。這時服務器端會將調用response.Flush方法時之前的所有response.write方法的數據發往客戶端。

只要將Response.BufferOutput的值設置為true,一定會發送buffer里的內容,只是早晚、次數的問題,這就取決於Response.Flush方法了。

至於它們的作用,在一個很大很大的網頁中,可以使用Response.Flush方法將數據分批發往客戶端,這樣就可以使瀏覽器先呈現一些html代碼,並逐步完整呈現。這樣可使用戶減少等待時間。不過你要注意一下,發送的html代碼必須是閉合完整的,否則有的瀏覽器不會立即呈現html,而是等待接受完整的html才呈現。否則使用它就沒有效果了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM