C# · 12月 29, 2021

c# – 如何在mvc中部分缓存用户细节

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

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

解决方法 这是用户特定的,所以我将它存储在一个持久的cookie.因此,当用户认证时,您可以查询数据库以获取所需的信息,并发出将在24小时后过期的持久性cookie.然后在部分,您将检查cookie是否存在,并从该cookie获取必要的数据,如果cookie不存在查询数据库并重新发送cookie.当用户注销时,您可以删除cookie,尽管这并不是绝对必要的,因为当他重新登录时(使用相同或其他用户名),您将再次查询数据库并重新发送该cookie.

而且因为我们生活在2011年,而HTML5正在敲门而不是cookies,所以我可能会使用HTML5 Local Storage,如果浏览器不支持cookies,