15 Aralık 2018 Cumartesi
Twitter

Sayfalarımızın cache'lenmesini engellemek

Sayfamızın hafızada kalmasını istemiyorsanız yapmanız gerekenler bu yazıda...

Örnek senaryomuzda, bir kayıt formu yaptığınızı düşünelim. Kayıt işlemi tamamlandıktan sonra bir başka sayfaya yönlendiriyorsunuz. Kullanıcı tarayıcının geri tuşuna bastığında, kayıt formunuzdaki verilerin durmasını istemediğiniz halde tüm bilgilerin karşınıza çıktığını göreceksiniz.

ASP.NET'te bu durumun önüne geçmek için yapmanız gereken son derece kolay. Aşağıdaki satırları Page_Load'a ekleyin, yeter.

Response.ExpiresAbsolute = DateTime.Now.AddDays(-1.0);
Response.Expires = -1;
Response.CacheControl = "no-cache";
Header.Controls.Add(new HtmlMeta { Name = "Cache-Control", Content = "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0, timeout=0, max=993" });
Header.Controls.Add(new HtmlMeta { Name = "Pragma", Content = "no-cache" });
Header.Controls.Add(new HtmlMeta { Name = "Expires", Content = DateTime.Now.AddMonths(-1).ToString("R") });
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Cache.SetExpires(DateTime.Now.AddDays(-1.0));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();

IE, FW için cache lemeyi engelleyebiliyoruz, ama Google Chrome'da bu kodlar henüz çalışmıyor. Boşuna google da aramalar yapmayın, gerçekten çalışmıyor. Google herhalde bir ara bunu halleder diye düşünüyorum.

Değerlendirme

Yazım dilinin sadeliği ve anlaşılabilirliği Puan: 0,45 (1 oy)
Yazıdaki kodların kalitesi Puan: 0,65 (1 oy)
İhtiyaca cevap verme Puan: 2,70 (1 oy)
Tavsiye edilebilirlik Puan: 0,65 (1 oy)
Genel değerlendirme Puan: 1,75 (1 oy)
Puanlamalar 5 üzerindendir.
  • Site Yorumlarý
  • Facebook Yorumlarý Facebook Yorumlarý
Yeni yorum yaz Toplam: 2, Onay bekleyen: 0.
  1. emre

    teşekkürler

  2. ekrem

    ihtiyacım olması muhtemel kod blokları içine ekledim bile :)