2010-12-23 24 views
7

App_Theme klasöründeki Stil Sayfası, tarayıcıda önbelleğe alınır. Yaklaşım ne olmalı? Böylece, yeni bir dağıtım olduğunda, tarayıcı tarayıcıda önbelleğe alınmayan en yeni stil sayfalarını almalıdır. Bu tema klasöründe CSS yapılabilir Nasıl bağlantıCSS, Tarayıcıda Önbelleğe Alındı ​​

http://blog.sallarp.com/asp-net-automatic-css-javascript-versioning/

belirtildiği gibi

Bu

(tema klasöründe değildir) diğer css için de öyle kullanılan özel denetim oluyordu ?

Düzenleme: Tema adı, aşağıda belirtildiği gibi web.config dosyasında belirtilmiştir. Bu yüzden bağlantıda belirtilen yöntemi kullanarak çözdüğüm sadece html bağlantı etiketi değil.

<pages styleSheetTheme="Default"> 
     <controls> 

     </controls> 
    </pages> 

cevap

4

tartışıldığı gibi kurulum önbelleğe alma limitlerine htaccess kullanabilirsiniz Dosya adı, güzel değil ama IIS önbelleği devre dışı bırakmadan başka yolu düşünemedim.

CSS tekrar yüklemek için kullanıcının web tarayıcıları zorlar mycss-V1.0.css söylemek CSS dosyasını yeniden adlandırma

0

bir get parametresi olarak zaman damgası göndermek olabilir iyi.

EG: 24033957203712 zaman damgası olan

http://mysite.com/theme/dir/style.css?id=24033957203712

.

+0

Bu, app_theme klasörünün içindeki css içindir. tema adı sadece web.config dosyasında belirtilir. – dhinesh

+0

@dhinesh Size uygun bir cevap bulmak için daha fazla bilgiye ihtiyacım olabilir – nivanka

+0

Soruyu düzenleyin. – dhinesh

4

Web uygulamasını dağıtırken, tema numarasını temalar yoluna ekleyin. Örneğin, v1.2.0.4321App_Themes/Default/v1.2.0.4321/, 1.2.0.4321 sürümü için dağıtımda eklenmiş klasördür. Bu hem tema ismini (örn., "Varsayılan") hem de kaynak kod kontrolünü ve yol referanslarını çok daha kolay hale getiren dosya isimlerini korur. ASP.NET, alt klasörlerden bağımsız olarak geçerli tema klasöründeki tüm CSS dosyalarını yükler. Bu sadece CSS dosyalarını referans alan problemi çözmez, aynı zamanda CSS dosyalarından (ör., Arkaplan resmi) referans alınan görüntüleri çözer. Ayrıca, bir sonraki web uygulaması güncellendiğinde, tüm tema dosyalarının güncelleneceğini garanti ederek, performansı artırmak için App_Themes için tarayıcı önbellek süresi artmış olabilir.

Web tarayıcıları için önbelleklerin 120 günlüğüne sahip olması için Web.Config öğesinin <configuration> bölümüne ekleyin.

<location path="App_Themes"> 
    <system.webServer> 
     <staticContent> 
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="120.00:00:00" /> 
     </staticContent> 
    </system.webServer> 
</location> 
0

Tarayıcı önbelleği, yanıt üstbilgisinde veya tarayıcı ayarında ayarlanan son kullanma süresine dayanır.

Orada biz CSS dağıtma ve hemen kullanıcıya aktarın istediklerinde zamanlama, ama sürümü (örneğin style.css?v2 gibi) asp dosyasından başvurulan olarak css dosyası edemiyoruz.

Bu durumlarda, değiştirilen/yeni stil sınıflarını yalnızca belirli CSS dosyasında aspx dosyasının Head bölümüne ekleyebilirsiniz. Herhangi bir stil geçersiz kılma oluşturmaz ve sorunu giderir.

İlgili konular