前言
因項目首頁内容多,每次點選都會有一段畫面空白的時間,使用感不好,于是找找看有沒有好方法。這裡就把收集到的方法記錄下來,供以後查閱。本篇隻有開始沒有結束,會不斷地添加内容。^_^
目錄
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檔案:
結果:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SM0ITMyIzMxATMyAjMxAjMvwlMwAzN0MzLcJTMwIzLcNXZnFWbp9CXt92YuM3ZvxmYuNmLyADMjlGcvw1LcpDc0RHaiojIsJye.gif)
是以對于asp.net來說這招不太使用。加上使用該方法和把頁面緩存buffer設為false都會出現
說明: 執行目前 web 請求期間,出現未處理的異常。請檢查堆棧跟蹤資訊,以了解有關該錯誤以及代碼中導緻錯誤的出處的詳細資訊。 異常詳細資訊: system.web.httpexception: 會話狀态已建立一個會話 id,但由于響應已被應用程式重新整理而無法儲存它。
的問題,解決方法是加一個global.asax檔案就ok了。具體為什麼我還沒找到答案。。。。。