当我点击IE10中的后退按钮或Win7上的Chrome时,它没有达到我在MVC控制器中的断点。 IE开发人员工具中的“网络”选项卡显示其未修改304,Fiddler未捕获请求。
我期待回帖,所以我可以在我的控制器中工作。 就我而言,错误是:
我已经尝试将它放在我的控制器中,但没有成功:
this.HttpContext.Response.CacheControl = "private";
this.HttpContext.Response.Cache.SetMaxAge(TimeSpan.FromSeconds(0));
public ActionResult Index()
{
// Get: /Home/Index
if (this.User.Identity.IsAuthenticated)
{
// send the user to the GlobalAssetDashboard
return this.RedirectToAction(
"GlobalAssetDashboard",
"Dashboard",
new
{
area = "DashboardArea"
});
}
return this.View("Login");
}
public ActionResult Login()
{
// GET: /Home/Login
if (this.User.Identity.IsAuthenticated)
{
// send the user to the GlobalAssetList
return this.RedirectToAction(
"GlobalAssetDashboard",
"Dashboard",
new
{
area = "DashboardArea"
});
}
return this.View("Login", new LoginModel());
}
有没有办法强制回发或检测到这种情况并导致JavaScript刷新?或者我的控制器方法实现不正确?
答案 0 :(得分:16)
通常,像这样的缓存规则不以它们执行的逻辑为条件,整个URL要么被缓存,要么不是。在这种情况下,这样简单的东西就足够了。
[OutputCache(NoStore=true, Duration=0)]
public ActionResult Login()
{
}
http://msdn.microsoft.com/en-us/library/dd492556(v=vs.108).aspx