MVC 4使用全球数据

时间:2013-02-23 20:03:21

标签: entity-framework asp.net-mvc-4

我有两个问题,希望得到一个“最佳实践”的建议。

  1. 如标题所述,我使用MVC 4允许用户登录其组织。我的所有模型都将存储此组织ID以在创建数据库条目时使用。因为有这么多场景(用户可以设置成员资格以保持登录状态,因此登录控制器操作永远不会触发)或者他们可以注销并重新登录,等等。是否有一个地方最好设置此组织信息所以所有控制器/视图都可以访问它?

  2. 我目前只在我的一个模型中设置了静态变量,似乎应该有更好,更强大的方法来做到这一点。

  3. 感谢大家抽出时间帮忙!

3 个答案:

答案 0 :(得分:1)

听起来像是Application State的工作。

  

应用程序状态是ASP.NET应用程序中所有类都可用的数据存储库。应用程序状态存储在服务器的内存中,比在数据库中存储和检索信息更快。与会话状态(特定于单个用户会话)不同,应用程序状态适用于所有用户和会话。因此,应用程序状态是存储少量常用数据的有用位置,这些数据不会从一个用户更改为另一个用户。

没有必要重新发明轮子恕我直言。

答案 1 :(得分:0)

您可以创建一个BaseController类,它继承自:Controller。

所以你们所有的控制器都被宣布为

 public class HomeController : MYBaseController

此Base Controller类可以完成所有全局工作。

答案 2 :(得分:0)

据我所知,您应该在session storage / cookie storage中保留有关用户的数据,以便任何人都可以访问它
您需要访问它的任何地方只需检查用户是否经过身份验证,然后true然后访问数据