ASP.NET MVC iç işlevselliğine çok fazla (farklı nedenlerle) dalıyorum, ancak yine de tüm davranışları kapsayamam. Yapmadığımlardan biri subj.ASP.NET MVC Paketleme önbelleği. (Css dosyalarını değiştirerek) (iç davranış) (iç davranış)
Ben bazı dosyaları (örneğin css dosyaları), çerçeve bu değişiklikleri algılar ve yeni paket için yeni kimliği üretir paket if (yapmak:
Çalışma tarzı şudur href = "/ Content/css? v = qartPE4jGe-l1U0I7kNDZPZzVTdh0kT8VBZZA_uURjI1" gibi tarayıcıların değişiklikleri yenilemesi kolaydır. Aslında anlamaya çalışıyorum ne
:
tam olarak nasıl çerçeve aktif hiçbir dizin gözlemcileri olduğu gibi ((yani muhtemelen MVC değil ama .NET şeyler) dosyaları değiştirildiğini tespit (dosyayı çevrimdışı olarak görüntülüyse bile dosyayı değiştirebildiğim için), dosya değişiklikleri değiştiğinde ve sistem aslında dosya içeriğini değiştirdiğini algılar (Sadece içeriğini yeniden kaydetmeden dosyaları yeniden kaydetmeye çalıştım ve Paket numarası da değişmedi))? (Açıkçası sistemin her dosya içeriğini karşılaştırarak her istekte bulunup bulunmadığını saptadığını düşünüyorum).
(ve nasıl) çerçeveler saklar geçerli paket kimliği ve nasıl saklar önceki sürümleri (kendi URL'ler giderken önceki demetler halinde hala mevcuttur)?
Çok teşekkürler!
Bu site paket mekanizma hakkında bazı bilgiler sağlar: http://www.dotnetexpertguide.com/2012/10/aspnet-45-mvc-4-revisiting-IBundleTransform-in-bundling.html İkinci sorunuz için, Varsayılan olarak, bir sunucu önbelleğinin kullanıldığı görülür. Paket kimliği, dosya içeriğinin bir karmaşasıdır, dolayısıyla içeriği değiştirdiğinizde değişir. Eski versiyonlar sunucuda saklanmaz ve artık mevcut değildir. URL, büyük olasılıkla çalışmaya devam edecektir (tarayıcıyı yeni bir şey indirmesi gerektiğini anlaması için kullanılan bir sorgu dizgesi olduğundan), ancak eski içeriği değil, yeni içeriği alırsınız. – Tommy