我正在使用ASP.Net VB。我试图通过网站禁用缓存,因为我的客户端遇到了一个问题,他需要清除缓存以使系统正常工作。
我把这堆代码放在我主人的页面page_load中。
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache)
Response.Cache.SetNoStore()
Response.Cache.SetAllowResponseInBrowserHistory(True)
在这里访问我的缓存。铬://缓存/
第一个问题是,这是解除缓存的正确方法吗?接下来是,我假设将它放在母版页上将会影响所有页面,这是正确的假设吗?最后,我如何知道此代码是否正常/如果我的浏览器仍然存储缓存以检查代码是否正确。有任何想法吗?谢谢!
答案 0 :(得分:2)
事情只适用于一行代码
Response.CacheControl = "no-cache";
但最好从缓存中删除现有页面。
Response.ExpiresAbsolute=DateTime.Now.AddDays(-1d);
Response.Expires =-1500;
Response.CacheControl = "no-cache";
您可以在页面加载时检查页面是否已过期
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
if (pageIsExpired()){
Response.Redirect("/Some_error_page.htm");
}
else {
var now = Now;
Session("TimeStamp") = now.ToString();
ViewState("TimeStamp") = now.ToString();
}
}
}
private boolean pageIsExpired()
{
if (Session("TimeStamp") == null || ViewState("TimeStamp") == null)
return false;
if (Session("TimeStamp") == ViewState("TimeStamp"))
return true;
return false;
}
来源:http://www.codeproject.com/Articles/11225/Disabling-browser-s-back-functionality-on-sign-out