ASP.NET狀態管理在適當的情況下
ASP.NET 3.5中有6種管理狀態的技術(據我所知).
(1) View State (2) Cross Page Posting (3) Query String (4) Session State (5) Application State (6) Cookies
任何人都可以給我一些恰當的情況,我應該使用這些技術的例子?
例如:
(*) Session State: Personalization, Buy Cart, etc. (*) Cookies: Saving User Credentials, etc.
國家管理選擇
檢視狀態:
當您需要儲存少量資訊以供釋出到自己的頁面時使用.使用ViewState屬性提供具有基本安全性的功能.
控制狀態:
當需要在往返伺服器之間儲存控制的少量狀態資訊時使用.
隱藏欄位:
當您需要儲存少量資訊以供釋出到自己或其他頁面的頁面時使用,並且在安全性不是問題時使用.
您只能在提交到伺服器的頁面上使用隱藏欄位.
餅乾:
使用時,您需要在客戶端上儲存少量資訊,安全性不是問題.
查詢字串:
當您將少量資訊從一個頁面傳輸到另一個頁面時使用,安全性不是問題.
只有當您通過連結請求相同的頁面或其他頁面時,才能使用查詢字串.
伺服器端管理選項
申請狀態
當您儲存許多使用者使用的不常更改的全域性資訊時使用,並且安全性不是問題.不要在應用程式狀態下儲存大量資訊.
會話狀態
當您儲存特定於單個會話的短命資訊時,使用該安全性是一個問題.不要在會話狀態下儲存大量資訊.請注意,會話狀態物件將在應用程式中的每個會話的生命週期中建立和維護.在託管許多使用者的應用程式中,這可能佔用重要的伺服器資源並影響可擴充套件性.
資料屬性
當您在使用者會話過期後儲存需要持久儲存的使用者特定資訊時使用,並且需要在對應用程式的後續訪問中重新檢索.
資料庫支援
當您儲存大量資訊,管理事務或資訊必須能夠在應用程式和會話重新啟動時使用.資料探勘是一個問題,安全性是一個問題.
http://stackoverflow.com/questions/1169153/asp-net-state-management-in-appropriate-situations