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

ASP.NET 狀態管理:ViewState 與 Cookie 詳解

     編輯:關於ASP.NET

HTTP 無狀態特性導致頁面間資料傳遞需顯式管理。狀態儲存位置分為用戶端(ViewState、隱藏欄位、Cookie、查詢字串、控制項狀態)與伺服器端(Session、Application、Cache、Database)。

用戶端狀態

  • ViewState:頁面層級,Base64 編碼儲於隱藏欄位 __VIEWSTATE,預設啟用,可加密/壓縮。
  • 隱藏欄位:手動 <input type="hidden">,單純字串傳遞。
  • Cookie:瀏覽器端持久化,可設定過期時間、域路徑,大小限制 4KB。
  • 查詢字串:URL 參數傳遞,可見、長度受限、不宜敏感資料。
  • 控制項狀態:控制項內部必要狀態,不可停用,獨立於 ViewState。

伺服器端狀態

  • Session:使用者會話期間,預設 InProc,可外部化(StateServer、SQLServer、Redis)。
  • Application:全應用程式共享,生命週期同應用程式池。
  • Cache:資料快取,支援依賴、過期、回調,效能最佳。
  • Database:持久化儲存,適合大量、長期、結構化資料。

選擇原則:敏感/大量資料用伺服器端;跨頁面少量非敏感資料可用 ViewState/Cookie;需持久化用 Cookie/Database;高效能讀取用 Cache。

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