如何在mvc中部分缓存用户详细信息

rak*_*los 10 c# asp.net-mvc razor

在每个页面的标题中,我显示用户名和用户点.这是从部分(从数据库中获取点)引入的.

我如何缓存这个部分,以便在每个页面上我避免检查数据库中的用户点,24小时后它可以再次查看(缓存过期).此外,如果用户注销并且其他人登录,则会显示新的用户名和分数(而不是之前缓存的用户名和分数).

Dar*_*rov 2

这是特定于用户的,因此我会将其存储在持久 cookie 中。因此,当用户进行身份验证时,您可以查询数据库以获取所需信息并发出将在 24 小时后过期的持久 cookie。然后在部分中,您将检查 cookie 是否存在并从该 cookie 中获取必要的数据,如果 cookie 不存在,则查询数据库并重新发出 cookie。当用户注销时,您可以删除 cookie,尽管这并不是绝对必要的,因为当他重新登录(使用相同或其他用户名)时,您将再次查询数据库并重新发出 cookie。

因为我们生活在 2011 年,HTML5 正在敲响我们的大门,而不是 cookie,我可能会使用HTML5 本地存储,如果浏览器不支持它,则回退到 cookie。