2013-02-23 40 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应用程序中的所有类使用的数据存储库。应用程序状态存储在服务器的内存中,比存储和检索数据库中的信息要快。与特定于单个用户会话的会话状态不同,应用程序状态适用于所有用户和会话。因此,应用程序状态是存储少量经常使用的数据的有用地点,这些数据不会从一个用户变为另一个用户。

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