2011-12-05 18 views
6

Neyi yanlış yaptığımı bilmiyorum ama denediğim her şeye rağmen, istemcileri statik kaynaklarımı önbelleğe almalarını sağlayamadım. Benim web.config içindeTanımlı istemci önbelleği yok sayılıyor

, ben aşağıdaki girişi ekledik: Belgelere göre

<staticContent> 
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" /> 
    </staticContent> 

, bu biz statik içerik tutmak istiyorum bildirmek için istemci tarayıcısına bir yanıt başlığı göndermelidir 30 gün boyunca önbelleğe alındı.

İstemcinin ne olduğunu görmek için kemancıyı kullanırsam, web.config eklememin tamamen yok sayıldığını görürsünüz.

Aşağıda kemancı bildiriyor şudur:

Cache-Control: no-cache 
Date: Mon, 05 Dec 2011 14:09:44 GMT 
Expires: -1 
Pragma: no-cache 
Vary: Accept-Encoding 

Bu yüzden ben eksik o kadar ne olduğundan emin değilim basan IIS herhangi başlıkları yok. Herhangi bir yardım büyük takdir edilecektir.

cevap

6

Bunu kırdım ama biraz zaman aldı. 304'leri sunucudan zorlamaya çalışıyorsunuz (değişiklik yok). IIS sürümleriyle farklıdır.

En iyi bir dizin statik içerik olduğunuz tüm sahip olarak elde ediyor (örn content böylece olurdu /content/css/content/js etc)

Sonra sadece için sona etmediğini dizin altında her şeyi sağlamak zorunda 30 gün diyelim.

IIS7

çok daha kolay. En kolay yol - yukarıda belirtilen içerik dizinine web.config ekleyin.

<system.webServer> 
    <staticContent> 
     <clientCache 
      cacheControlMaxAge="30.00:00:00" 
      cacheControlMode="UseMaxAge" /> 
    </staticContent> 
</system.webServer> 

IIS6 Metatabanında işlemek gerekir

: Bu web.config yönergesi sona eriyor sadece olacaktır. IIS6'da XML değil, buradaki yönergeleri izleyin: IIS6 ETags metabase commands

Hem gelen hem de 304'lerin içinden gelen ateş yumrularının basit görüntüsünü kullandık.

+0

Her şeyden önce yardımlarınız için teşekkürler. Yukarıda gördüğünüz gibi 304'leri alıyorum ama web.config dosyasını içerik klasörüne eklemek biraz fark yaratmadı. Yeni web.config dosyasını/İçerik klasörüne eklemeyi denedim ve 500 hata alıyorum (_there aradığınız kaynak ile ilgili bir sorun ve display_ olamaz). Ayrıca, kaynağın bulunduğu klasöre taşıdım:/Content/css ve css dosyası artık başarıyla alındı ​​ancak önbellek başlığına sahip değil. – Yag

+0

Bu, http://stackoverflow.com/questions/5385714/deploying-website-500-internal-server-error yönlendirme konusunda yardımcı olabilir. – penderi

İlgili konular