ASP.NET中的狀態管理
Session 會話
l 區分客戶端,不區分頁面
l 資料量會隨著客戶端(併發)數量的增多,而增多
l 伺服器端儲存什麼:資料儲存在伺服器端(InProc,StateServer,SqlServer)
l 客戶端儲存什麼:客戶端儲存的是SessionID
l 有過期策略
l 適用場合:與使用者相關的資料,購物車,使用者帳號,
Application狀態
l 全域性資料,所有客戶端共享:不區分客戶端,不區分頁面
l 伺服器端儲存什麼:資料儲存在伺服器端(伺服器程式內)
l 客戶端儲存什麼:客戶端不儲存任何與Application狀態資料
l 可能有多執行緒併發訪問的問題,需要同步(Lock/Unlock)
l 適用場合:全域性性的資料,在Application_Start內初始化,然後在其他頁面中訪問
ViewState檢視狀態
l 區分客戶端,區分頁面
l 伺服器端儲存什麼:資料在伺服器和客戶端(頁面資料)來回穿梭
l 客戶端儲存什麼:資料在伺服器和客戶端(頁面資料)來回穿梭
l 適用場合:單一頁面上的臨時性資料,用於使用者和一個頁面之間的來回互動。
l 安全性比較低
頁面上的例項欄位
l 區分客戶端,區分頁面,而且區分前後不同的請求
l 生存期極短,只在伺服器處理頁面的過程中有效
l 適用場合範圍較窄
靜態欄位
l 全域性資料,所有客戶端共享:不區分客戶端,不區分頁面
l 伺服器端儲存什麼:資料儲存在伺服器端(伺服器程式內)
l 客戶端儲存什麼:客戶端不儲存任何static狀態資料
l 可能有多執行緒併發訪問的問題,同步需要自己編寫程式碼(不如Application方便)
l 適用場合:全域性性的資料,在任何需要的地方內初始化,然後在其他頁面中訪問
查詢字串 Query String
l 區分客戶端,在兩個相鄰的頁面之間共享(通過位址列上資料)
l 伺服器端儲存什麼:資料在伺服器和客戶端瀏覽器位址列中互動
l 客戶端儲存什麼:資料在伺服器和客戶端瀏覽器位址列中互動
l 適用場合:作為資料查詢的分離關鍵字,支援copy或儲存。喪失安全性; 異構網站系統(JSP, ASP, PHP)與ASP.NET頁面整合
Input
l 區分客戶端,在兩個相鄰的頁面之間共享(通過位址列上資料)
l 伺服器端儲存什麼:資料從客戶端頁面上post給伺服器
l 客戶端儲存什麼:資料從客戶端頁面上post給伺服器
l 適用場合:異構網站系統(JSP, ASP, PHP)與ASP.NET頁面整合
Cookie
l 區分客戶端,不區分頁面
l 伺服器端儲存什麼:伺服器不儲存Cookie資料
l 客戶端儲存什麼:存放Cookie資料
l 有過期策略
l 適用場合:異構網站系統(JSP, ASP, PHP)與ASP.NET頁面整合,以及長期儲存的資料
本文轉自周金橋51CTO部落格,原文連結:http://blog.51cto.com/zhoufoxcn/166976 ,如需轉載請自行聯絡原作者
相關文章
- Asp.NET系統狀態與物件管理ASP.NET物件
- 一起談.NET技術,ASP.NET的狀態管理ASP.NET
- 淺談前端的狀態管理,以及anguar的狀態管理庫前端
- ⚠️Flutter的 狀態管理⚠️Flutter
- React的狀態管理React
- 如何直觀的在JavaScript中管理狀態JavaScript
- 我理想中的狀態管理工具
- 狀態管理
- React 回憶錄(四)React 中的狀態管理React
- React中的另一種狀態管理方案ValtioReact
- 掌握 Nuxt 3 中的狀態管理:實踐指南UX
- 前端狀態管理與有限狀態機前端
- Angular狀態管理的使用Angular
- Flutter | 狀態管理Flutter
- Vuex狀態管理Vue
- React 狀態管理:狀態與生命週期React
- 記前端狀態管理庫Akita中的一個坑前端
- 悟空活動中臺 - 微元件狀態管理(上)元件
- Vuex——Vue的狀態管理利器Vue
- vue的狀態管理實現Vue
- Flutter-狀態管理Flutter
- Flutter如何狀態管理Flutter
- react 狀態機管理React
- ASP.NET Core 應用程式狀態ASP.NET
- vue的狀態管理模式—vuexVue模式
- Flutter 狀態管理之BLoCFlutterBloC
- Flutter 狀態管理實踐Flutter
- 理解資料狀態管理
- Flutter入門 - 狀態管理Flutter
- vue狀態管理演進Vue
- 淺析前端狀態管理前端
- react之redux狀態管理ReactRedux
- Flutter 入門 - 狀態管理Flutter
- 淺談前端狀態管理前端
- Flutter實踐:深入探索 flutter 中的狀態管理方式(1)Flutter
- PDM系統在技術狀態管理中的應用研究
- React 4 種狀態型別及 N 種狀態管理React型別
- [譯]ASP.NET Core 2.0 會話狀態ASP.NET會話