没有导航栏的缓存页面。用户 log-in/logout 系统根本不更新 (MVC)
Cache page without the navbar. User log-in/logout system doesn't update at all (MVC)
我正在尝试缓存没有页面导航栏的页面。
当我缓存页面时,它一切正常,但我得到了不需要的行为。
解释:
例如,当我缓存索引页面时,导航栏也被缓存,因此如果用户按下登录按钮并登录,用户将重定向到同一页面(索引)并且登录不会不生效(用户名和注销按钮没有出现),登录和注册按钮仍然显示,是个问题。
这是我的代码:
家庭控制器:
public class HomeController : Controller
{
[OutputCache(Duration=(60*60))]
public ActionResult Index()
{
return View();
}
// ...
}
我可以做一些改变来防止它吗?
我设法使用 "haim770" 指南找到了解决方案。
解决方案使用"Donut-Caching" (https://github.com/moonpyk/mvcdonutcaching)
1.first 我从 NuGet 包中获得了“甜甜圈缓存”。
2.I 在 _layout.cshtml 页面中切换了行:@Html.Partial("_LoginPartial")
和 @Html.Action("partialView", true)
3.Than 我在名为 "partialView" 的帐户控制器中构建了一个 Action,return 我想要的视图,如下所示:
public ActionResult partialView()
{
return PartialView("_LoginPartial");
}
4.After 我用
装饰了return索引页的Action
[DonutOutputCache(Duration=(60*60))]
像这样:
[DonutOutputCache(Duration=(60*60))]
public ActionResult Index()
{
return View();
}
大功告成,再次感谢 Haim(Chaim)。
我正在尝试缓存没有页面导航栏的页面。 当我缓存页面时,它一切正常,但我得到了不需要的行为。
解释:
例如,当我缓存索引页面时,导航栏也被缓存,因此如果用户按下登录按钮并登录,用户将重定向到同一页面(索引)并且登录不会不生效(用户名和注销按钮没有出现),登录和注册按钮仍然显示,是个问题。
这是我的代码:
家庭控制器:
public class HomeController : Controller
{
[OutputCache(Duration=(60*60))]
public ActionResult Index()
{
return View();
}
// ...
}
我可以做一些改变来防止它吗?
我设法使用 "haim770" 指南找到了解决方案。
解决方案使用"Donut-Caching" (https://github.com/moonpyk/mvcdonutcaching)
1.first 我从 NuGet 包中获得了“甜甜圈缓存”。
2.I 在 _layout.cshtml 页面中切换了行:@Html.Partial("_LoginPartial")
和 @Html.Action("partialView", true)
3.Than 我在名为 "partialView" 的帐户控制器中构建了一个 Action,return 我想要的视图,如下所示:
public ActionResult partialView()
{
return PartialView("_LoginPartial");
}
4.After 我用
装饰了return索引页的Action[DonutOutputCache(Duration=(60*60))]
像这样:
[DonutOutputCache(Duration=(60*60))]
public ActionResult Index()
{
return View();
}
大功告成,再次感谢 Haim(Chaim)。