我有一个与会话中的用户配置文件存储相关的非常基本的问题。
假设我有一个存储用户配置文件的 Account 表,并且我已将此表链接到 ASP.NET SimpleMembership。用户登录后,控制器可能需要在她的帐户中或从她的帐户中检索信息。我现在正在做的是每次需要数据时都查询数据库,类似于:_dbContext.Accounts.Where(a => a.EmailAddress == User.Identity.Name).Single()
.
但我担心这可能会对数据库造成不必要的负载,并认为更好的想法(也许每个人都这样做!)是在用户登录后将 Account 对象存储在 Session 变量中,无需重新启用即可直接访问查询数据库。这是通常的做法吗?会话变量和身份验证之间是否存在“不同步”的风险?
谢谢