首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

淺析 ASP.NET 效能優化:ViewState 與頁面跳轉

     編輯:關於ASP.NET

ViewState 效能影響與優化

ViewState 將控制項狀態序列化為 Base64 字串置於隱藏欄位,帶來三大負面影響:

  1. 增加請求/回應傳輸大小與時間。
  2. 每次回發需序列化/反序列化,消耗 CPU。
  3. 伺服器端處理時佔用額外記憶體。

關閉 ViewState 的層級

  • 控制項級:<asp:TextBox EnableViewState="false" />
  • 頁面級:<%@ Page EnableViewState="false" %>
  • 應用程式級:Web.config <pages enableViewState="false" />

EnableViewStateMac

啟用後會在 ViewState 加入 MAC 驗證碼防篡改,但會增加運算開銷;**純效能考量時建議關閉**。

頁面跳轉:Response.Redirect vs Server.Transfer

特性Response.RedirectServer.Transfer
運作流程伺服器回傳 302,瀏覽器重新請求新 URL伺服器端直接轉交執行新頁面
網路往返兩次 (回傳+重新請求)一次
目標範圍任意 URL (跨站、跨應用程式)同應用程式內的 .aspx 頁面
URL 顯示瀏覽器網址列更新為新 URL網址列維持原 URL
Context.Items 可用不可用可用 (同一請求)

建議

同應用程式內頁面跳轉優先使用 Server.Transfer 減少往返;需變更 URL、跨應用程式或導向靜態頁面才用 Response.Redirect。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved