在所有的浏览器禁用缓存(Disabling cache on all browser)

2019-10-18 12:12发布

我使用ASP.Net VB。 我试图禁用缓存throught的网站,因为我的客户是有他需要明确自己的缓存,以使系统工作的问题。

我把这个一串代码在我主人的页面的Page_Load。

Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache)
Response.Cache.SetNoStore()
Response.Cache.SetAllowResponseInBrowserHistory(True)

而访问我的缓存在这里铬。 铬://缓存/

第一个问题是,这是disbaling缓存的正确方法吗? 其次是,我认为把它的母版页上的将所有的页面受此影响,这是一个正确的假设? 最后,我怎么知道如果这个代码是工作/如果我的浏览器仍然是存储高速缓存来检查代码是正确的。 有任何想法吗? 谢谢!

Answer 1:

事情可以用只有一行代码工作

 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



文章来源: Disabling cache on all browser