【问题标题】:User profile in Session variable会话变量中的用户配置文件
【发布时间】:2013-03-15 07:21:05
【问题描述】:

我有一个非常基本的问题,与会话中的用户配置文件存储有关。

假设我有一个存储用户配置文件的 Account 表,并且我已将该表链接到 ASP.NET SimpleMembership。用户登录后,控制器可能需要在她的帐户中或从她的帐户中检索信息。我现在正在做的是每次需要数据时查询数据库,类似于:_dbContext.Accounts.Where(a => a.EmailAddress == User.Identity.Name).Single()

但我担心这可能会对数据库造成不必要的负载,我认为更好的想法(也许每个人都这样做!)是在用户登录后将 Account 对象存储在 Session 变量中,从而实现直接访问无需重新查询数据库。 这是通常的做法吗? Session 变量和身份验证之间是否存在“不同步”的风险?

谢谢

【问题讨论】:

    标签: asp.net session-variables simplemembership


    【解决方案1】:

    我们的网站在登录时对用户类型对象使用相同类型的方法。确认登录后,我们将用户对象存储在会话变量中。如果某些内容发生更改或更新,则对象将被更新,并且根据情况,数据库中的更改也会更新(时间意味着在更改之后立即更新,或者在收集一组更改之后)。

    这取决于您的系统有多复杂。我们的方法相当复杂,事实证明这是一种非常可靠的方法 - 无需持续维护和更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 2016-05-28
      • 2015-03-03
      • 1970-01-01
      • 2013-04-03
      • 2015-01-03
      • 1970-01-01
      相关资源
      最近更新 更多