SORU
27 Mayıs 2009, ÇARŞAMBA


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
27 Mayıs 2009, ÇARŞAMBA


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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Matus Slovak

    Matus Slovak

    5 Temmuz 2007