我的网站右上角有一个小菜单,上面写着用户的名字和姓氏。我把这篇文章放到局部视图中。由于这显示在每个页面上,我显然想要缓存它,所以每次页面加载时我都不必获取用户的信息。我应该将它存储在缓存或会话数据中,还应该在哪里创建我的代码来缓存这些数据?
答案 0 :(得分:2)
根据scenarion,你绝对应该使用缓存。正如你所说,你已经将菜单作为部分视图
[OutputCache(Duration = 3600)]
public ActionResult mymenu()
{
return PartialView();
}
答案 1 :(得分:0)
最好将用户信息存储在会话中,而不是存储在缓存中。缓存主要是应用程序级别,会话是每个用户/会话。您可以在缓存中存储每个用户信息,前提是您提供密钥(通过会话或cookie)。
这篇文章可能有用: - cache-session-viewstate-c#
答案 2 :(得分:0)
如果您正在引用ASP.Net Cache,则存储在其中的信息可供计算机上运行的任何.Net页面使用。我认为在你的情况下会议会更合适。
答案 3 :(得分:0)
我不确定您使用的是哪种身份验证机制,但它可能已存储在:
HttpContext.Current.User
或
System.Threading.Thread.CurrentPrincipal
答案 4 :(得分:0)
我更喜欢创建一个User对象,我在网站上设置了所有方便的参数。
此对象存储在会话或数据库中,具体取决于站点