2013-03-14 22 views
0

我想了解Persisting DataSource in GridView after PostBack的接受答案,因爲我有類似的問題。爲什麼不緩存(System.Web.Caching.Cache)用於狀態管理?

報價:

我避開把東西到VeiwState或會話不必要的,所以我覺得堅持這種數據的最佳方式就是對其進行緩存。

當我看到國家管理的MS建議:ASP.NET State Management Overview緩存是沒有在哪裏可以看到。有一條評論(搜索Jim_Huff),詢問這個問題,但沒有回答。

問題:在這種情況下與cache有什麼關係 - 我應該使用它還是不使用?

回答

1

該問題的答案由問題作者提供,並不是一個很好的答案。

狀態管理用於管理單個會話的狀態。有保障措施可確保您不會踐踏其他用戶的會話狀態,以及清理舊會話,放棄會話等的明確機制。

應用程序緩存用於管理整個應用程序的全局狀態。使用它來管理會話狀態是不合適的。

+0

因此......狀態管理映射到緩存的指定部分,爲會話/視圖/頁面特定數據保留 - 還是完全分開? – 2013-03-14 11:58:19

+1

兩者完全分開。會話狀態存在於會話狀態數據庫(可能是內存中,SQL數據庫或StateServer)中。應用程序緩存是一個完全不同的數據庫(它可以是內存中的,也可以是SQL數據庫或其他內容,具體取決於您的特定緩存技術) – 2013-03-14 12:07:21