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