Asp.net
我可以使用 ASP.NET 提前刷新緩衝區嗎?
從雅虎加速您的網站的最佳實踐包括以下建議:
當使用者請求頁面時,後端伺服器可能需要 200 到 500 毫秒的時間來將 HTML 頁面拼接在一起。在此期間,瀏覽器處於空閒狀態,等待數據到達。在 PHP 中,您有函式 flush()。它允許您將部分就緒的 HTML 響應發送到瀏覽器,以便瀏覽器可以在後端忙於 HTML 頁面的其餘部分時開始獲取組件。好處主要體現在繁忙的後端或輕量級的前端。
一個考慮刷新的好地方是在 HEAD 之後,因為 head 的 HTML 通常更容易生成,它允許您包含任何 CSS 和 JavaScript 文件,以便瀏覽器在後端仍在處理時開始並行獲取。
例子:
... <!-- css, js --> </head> <?php flush(); ?> <body> ... <!-- content -->請注意,此處發生刷新的點是在寫入頭標記之後。這很有意義,因此瀏覽器可以開始載入圖像和腳本,同時渲染和提供頁面的其餘部分。
有沒有辦法顯式使用 ASP.NET 在頭部(或頁面的任何其他部分)之後刷新?
您應該能夠將以下內容放在頁面頭部的結尾和正文語句的開頭之間:
<% Response.Flush(); %>但是,如果您使用的是腳本管理器或任何其他類型的控制項,這些控制項將在 html 的 head 部分中註冊自己以輸出,請在此處小心。
您可能還希望在頁面頂部的 @Page 標記中顯式設置 Buffer=true 以避免 Response.Flush() 引發錯誤。