C# Asp.NET(MVC)中会话和缓存的状态管理
使用ASP.NETMVC3创建Web应用程序,基本框架包括NHibernate(Fluent)、Ninject、Razor、Automapper、Jquery和Rhino Security 需要决定状态管理策略(会话和缓存级别)。 我听说过以下缓存类型C# Asp.NET(MVC)中会话和缓存的状态管理,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,使用ASP.NETMVC3创建Web应用程序,基本框架包括NHibernate(Fluent)、Ninject、Razor、Automapper、Jquery和Rhino Security 需要决定状态管理策略(会话和缓存级别)。 我听说过以下缓存类型 输出缓存 甜甜圈(洞)缓存 数据缓存 考虑到一般情况,我想了解在请求期间使用的状态管理策略 登录 用户访问站点时,仍然未经验证,因此通过FormsAuth模块重新提交到登录页面(问题-由于登录页面不是特定于用户的,因此肯定是输出缓存的候选。但是视
我知道我说得太详细了。事实上,我还有更多的问题,但首先让我看看smbdy是否真的费心在这里读这么多关于用户权限的废话,因为每个用户组的权限都是相同的,我会像这样将它们存储在缓存中:
if (System.Web.HttpContext.Current.Cache["UserGroup_1_Permissions"] == null)
{
_Permissions = DAL.getPermissions("UserGroup1") as List<Permissions>;
System.Web.HttpContext.Current.Cache["UserGroup_1_Permissions"] = _Permissions;
}
else
{
_Permissions = System.Web.HttpContext.Current.Cache["UserGroup_1_Permissions"] as List<Permissions>;
}
if(System.Web.HttpContext.Current.Cache[“UserGroup\u 1\u Permissions”]==null)
{
_Permissions=DAL.getPermissions(“UserGroup1”)作为列表;
System.Web.HttpContext.Current.Cache[“UserGroup\u 1\u Permissions”]=\u Permissions;
}
其他的
{
_权限=System.Web.HttpContext.Current.Cache[“用户组\u 1\u权限”]作为列表;
}
这样,您将只在第一次从DB中检索它们,因为它将存储在HttpContext.Current.Cache中。嘿,WiseGuys/老兵/专家-帮帮我!这么来的世界是什么;-)很难看出您的实际问题是什么?通常(虽然不总是),所以问题包含一些代码,一些您尝试过或发现但不起作用的东西。此外,如果你以一种“自然”的方式提出一个问题,从而得出一个明确的答案,这也会有所帮助。首先,你能试着在最后用一个问句来表达你需要回答的问题吗?Jeroen,我的情况是这样的,问题更明确地用粗体突出显示