Devre dışı bırakma ASP.NET tüm tarayıcılar için tarayıcı önbellekleme
Sayfa önbelleğe alma devre dışı tarayıcılar için ASP.NET kodu gerekli olduğunu kesin bir referans peşindeyim. HTTP başlıkları ve meta etiketleri etkilemek için birçok yol vardır ve farklı ayarlar farklı tarayıcılarda doğru hareket ettirmek için gerekli bir izlenim aldım. Gerçekten harika bir kod referans biraz tüm tarayıcılar için çalışır ve belirli tarayıcı sürümleri de dahil olmak üzere gerekli olan belirtmek için yorum almak olacaktır.
Orada çok büyük bir miktar bilgi ile ilgili bu sorun var ama ben henüz bulmak için iyi bir referans olduğunu açıklar faydaları her yöntem ve olup olmadığını bir tekniğin yerini olmuştur daha yüksek bir seviyeye API.
ASP.NET 3.5 SP1 ilgimi çekecek ama önceki sürüm için cevaplar almak için iyi olurdu.
Bu blog girişi Two Important Differences between Firefox and IE Caching HTTP protokolü bazı davranış farklılıkları açıklar.
Aşağıdaki örnek kodu ilgileniyorum bir şey gösterir
public abstract class NoCacheBasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
DisableClientCaching();
}
private void DisableClientCaching()
{
// Do any of these result in META tags e.g. <META HTTP-EQUIV="Expire" CONTENT="-1">
// HTTP Headers or both?
// Does this only work for IE?
Response.Cache.SetCacheability(HttpCacheability.NoCache);
// Is this required for FireFox? Would be good to do this without magic strings.
// Won't it overwrite the previous setting
Response.Headers.Add("Cache-Control", "no-cache, no-store");
// Why is it necessary to explicitly call SetExpires. Presume it is still better than calling
// Response.Headers.Add( directly
Response.Cache.SetExpires(DateTime.UtcNow.AddYears(-1));
}
}
CEVAP
Bu ASP.NET kullanıyoruz nedir:
// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
// Stop Caching in Firefox
Response.Cache.SetNoStore();
Firefox ve IE önbellek durur, ama diğer tarayıcıları hiç denemedim. Aşağıdaki yanıt başlıkları bu ifadeler eklenir:
Cache-Control: no-cache, no-store
Pragma: no-cache
≪meta> tüm önbelleğini devre dış...
Devre dışı bırak tarayıcı tüm ASP.NET ...
Yumuşak klavye için tam ekran düzenlem...
Devre dışı bırakma tarayıcı Yazdırma s...
ReSharper geçerli dosya için devre dış...