2013-08-16 47 views
3

現在我讀一本書,在書中這樣說的:什麼的存儲用戶信息在ASP.NET MVC4戰略

「無論是會話狀態和應用程序狀態用於存儲不安全全球小量基於

上,我有五個問題是不經常變化」的信息:

  1. 在MVC4我們可以訪問由HttpContext.Session會議,這是什麼和HttpContext.Current.Session之間的區別 ?

  2. 什麼是應用程序狀態?

  3. 會話和應用程序狀態之間的實際區別是什麼?

  4. 對於哪些用戶信息我們不能在會話中存儲,但只能存儲在服務器數據庫中?

  5. 許多瀏覽器端Cookie已被禁用,這是否意味着cookie在開發Web應用程序時不再使用?

我希望這不僅是對我很有幫助,同時也將幫助其他人誰看到這個

任何建議,歡迎!

回答

2
  1. 沒有區別。當您不在視圖中時使用HttpContext.Current.Session

  2. 用於存儲適用於所有用戶的應用程序範圍信息。一次只有一個,所有用戶的值都相同。

  3. 會話處於用戶級別。應用程序是系統範圍的。如果您需要保留特定於用戶的信息,請使用會話。如果所有用戶的值都相同,請使用應用程序。

  4. 不知道你的意思

2
  1. 它們都指向同一個對象。
  2. ApplicationState如果被綁定到具體用戶會話
  3. 不同Session對象之間共享數據我說前一個點下的主要區別。詳細說明:存儲在Session中的對象只能訪問在該會話下運行的請求(它們具有會話cookie或url中的標識字符串)。另一方面,存儲在Application中的對象可在任何地方使用(例如在global.asax中)並且不依賴於當前用戶。
  4. 這取決於你的偏執級別。我不會在Session中以未加密的格式存儲信用卡信息或社會安全號碼或密碼。另一方面,我也不會將它們在數據庫上加密保存。順便說一句,可以將SessionState配置爲駐留在數據庫中,並由此在不同的機器之間共享。
  5. ASP.NET的cookie功能更好。有些方法可以在沒有cookie的情況下工作,但會涉及很多工作。