天天看點

頁面分部分加載呈現收集(不斷更新中)“/”應用程式中的伺服器錯誤。

前言           

因項目首頁内容多,每次點選都會有一段畫面空白的時間,使用感不好,于是找找看有沒有好方法。這裡就把收集到的方法記錄下來,供以後查閱。本篇隻有開始沒有結束,會不斷地添加内容。^_^

目錄             

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檔案:

結果:

頁面分部分加載呈現收集(不斷更新中)“/”應用程式中的伺服器錯誤。

是以對于asp.net來說這招不太使用。加上使用該方法和把頁面緩存buffer設為false都會出現

說明: 執行目前 web 請求期間,出現未處理的異常。請檢查堆棧跟蹤資訊,以了解有關該錯誤以及代碼中導緻錯誤的出處的詳細資訊。 異常詳細資訊: system.web.httpexception: 會話狀态已建立一個會話 id,但由于響應已被應用程式重新整理而無法儲存它。

 的問題,解決方法是加一個global.asax檔案就ok了。具體為什麼我還沒找到答案。。。。。

繼續閱讀