前言
因項目首頁内容多,每次點選都會有一段畫面空白的時間,使用感不好,于是找找看有沒有好方法。這裡就把收集到的方法記錄下來,供以後查閱。本篇隻有開始沒有結束,會不斷地添加内容。^_^
目錄
1.使用Response.Flush(),有多少輸出多少;
1.使用Response.Flush(),有多少輸出多少
預設情況下Asp.net頁面是啟動了Response的輸出緩存,那麼全部輸出的内容都先存儲在輸出緩存中,當伺服器對請求處理完後再把輸出緩存的内容一次性向用戶端發送。如果禁用輸出緩存,那麼響應流中的資料會馬上傳送到用戶端,通過Respose.Buffer=false來設定,但禁用輸出緩存會引起性能上的問題。如果想分部分發送響應内容和控制輸出緩存内容的具體發送時刻,可以在啟用response輸出緩存下調用Response.Flush(),該方法就是把目前輸出緩存中的内容向用戶端發送。
針對asp.net要注意一點,除非使用了Response.Write()和Response.WriteLine()等直接把内容寫到響應流中外,在Render事件之前的任何操作内容都還沒寫到Response中。也就是說aspx頁面上的html等,和aspx.cs檔案中添加到控件樹的内容在Render事件之前還沒寫入Response中。下面是驗證的例子:
aspx檔案:
aspx.cs檔案:
<a></a>
結果:
是以對于Asp.net來說這招不太使用。加上使用該方法和把頁面緩存buffer設為false都會出現
說明: 執行目前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤資訊,以了解有關該錯誤以及代碼中導緻錯誤的出處的詳細資訊。 異常詳細資訊: System.Web.HttpException: 會話狀态已建立一個會話 ID,但由于響應已被應用程式重新整理而無法儲存它。
的問題,解決方法是加一個Global.asax檔案就ok了。具體為什麼我還沒找到答案。。。。。
如果您覺得本文的内容有趣就掃一下吧!捐贈互勉!
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuYjM3IzN2EDMwETNyIzNw8CX1ADNxAjMvwlMwAzN0MzLcd2bsJ2Lc12bj5yZvxmY0lmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.png)
本文轉自^_^肥仔John部落格園部落格,原文連結:http://www.cnblogs.com/fsjohnhuang/archive/2012/02/10/2345204.html,如需轉載請自行聯系原作者