2013-02-23 36 views
0

我有兩個部分的問題,希望得到一個「最佳實踐」的建議。MVC 4使用全局數據

  1. 正如標題所述,我使用MVC 4允許用戶登錄到他們的組織。我創建的所有模型都將存儲此組織標識以在創建數據庫條目時使用。因爲有很多場景(用戶可以設置成員資格保持登錄狀態,所以登錄控制器操作永遠不會觸發),或者他們可以註銷並重新登錄等。是否有一個地方最適合設置此組織信息所以它可以被所有的控制器/視圖訪問?

  2. 我目前只是在我的一個模型中設置了一個靜態變量,似乎應該有一個更好,更強大的方法來做到這一點。

謝謝大家花時間幫忙!

回答

0

據我,你應該保持數據大約在session storage/cookie storage用戶,使得無處不在,你需要訪問它只是請檢查是否用戶進行身份驗證任何人都可以訪問它

如果true然後訪問數據

+0

感謝大家的反饋。因爲我需要數據對每個會話都是唯一的,所以我決定採用Parv的答案。感謝您的輸入! – mvcNewbie 2013-02-25 14:45:46

0

您可以創建一個BaseController類,該類繼承自Controller:Controller。

所以大家控制器聲明

public class HomeController : MYBaseController 

該控制器基類可以完成所有的全球工作。

1

聽起來像Application State的工作。

應用程序狀態是可供ASP.NET應用程序中的所有類使用的數據存儲庫。應用程序狀態存儲在服務器的內存中,比存儲和檢索數據庫中的信息要快。與特定於單個用戶會話的會話狀態不同,應用程序狀態適用於所有用戶和會話。因此,應用程序狀態是存儲少量經常使用的數據的有用地點,這些數據不會從一個用戶變爲另一個用戶。

沒有重新發明輪恕恕恕我直言。