2011-12-14 107 views
1

我有一個關於靜態字符串等等的問題,在ASP.NET MVC中。ASP.NET MVC - 靜態對象

當用戶瀏覽應用程序時,我需要保存一個字符串(一個值)。 問題是,我覺得這會違反MVC。我只需要爲每個用戶存儲一個字符串,因此它似乎違反了MVC分離。

謝謝。

回答

2

我只需要存儲每個用戶

字符串你可以使用SessionCookies這既保證每個用戶的存儲安全。不要使用靜態對象。它們將在應用程序的所有用戶之間共享。

+0

所有的頁面只是AJAX調用,任何想法我怎麼做? – 2011-12-14 08:04:02

+0

@ReigoHein,做什麼?您是否閱讀過關於我在答案中鏈接到的Session和Cookies的相應文章? – 2011-12-14 08:04:26

1

除非您有特定的要求/限制,否則使用cookies來存儲必須通過多個請求持續存在的數據(如您正在談論的字符串或身份驗證信息等)以及session用於只需要從一個請求到另一個請求的事物(比如PRG模式的驗證數據等)。

儘量避免session用於任何不是短暫的事情。我不會深入細節,但你可以很容易地谷歌關於這個話題,並找到很多關於爲什麼這是一個糟糕的設計選擇的詳細解釋。

0

另外,對於搜索的人來說,一個選擇是在ASP.NET MVC框架中使用HttpContext.Cache(stringname),目前正在嘗試這種方式。