【发布时间】:2013-10-19 09:24:52
【问题描述】:
您好,我是第一次在 MVC 中开发解决方案,所以我面临一个大问题, 当我从我的应用程序(mvc razor Web 应用程序)注销时,它会显示登录页面,但是如果我按下浏览器后退按钮,它会显示最后一个屏幕,我不想要这个,我想要如果我按下后退按钮它仍然显示相同的登录页面。 这是我的注销代码
public ActionResult Logout()
{
Session.Clear();
Session.Abandon();
Session.RemoveAll();
FormsAuthentication.SignOut();
this.Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
this.Response.Cache.SetCacheability(HttpCacheability.NoCache);
this.Response.Cache.SetNoStore();
return RedirectToAction("Login");
}
【问题讨论】:
-
没有理由同时调用 Clear AND Abandon。选择其中一个,否则您将来可能会遇到一些行为问题,例如意外触发会话特定事件。
-
你说当你按下浏览器上的后退按钮并显示最后一个屏幕时,最后一个屏幕是什么以及从哪里调用注销?最后一个屏幕肯定是注销页面,因此没什么可看的?
-
使用 System.Web.Mvc.OutputCache 属性来装饰您的控制器或其操作。
标签: asp.net-mvc asp.net-mvc-4 razor