我想在我的网页的每个视图上实施注销选项。为此,我将 null 分配给我的会话变量。并删除缓存中的数据。但我研究过从缓存中删除数据会在Web服务器上添加一些额外的负担,因为没有数据存储在缓存中...... 那么,什么可以替代这个问题。
答案 0 :(得分:0)
创建 _Layout页面并保留您的登录/注册/注销。您可以通过创建默认Web MVC应用程序进行检查,并查看每个页面中登录/注册/注销的呈现方式。
使用java脚本清理缓存有很多种方法。 我喜欢这样,
<script>
function ClearHistory()
{
var backlen = history.length;
history.go(-backlen);
window.location.href = loggedOutPageUrl //Pass your Index Page
}
</script>
或者最简单的方法就是清除LogOff()方法中的缓存,就像下面一样,
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
return RedirectToAction("Login");
}
请检查此Link有多种方法可以清除缓存,因此退出后后退按钮将无效。