2013-04-14 50 views
0

我正在使用ASP.NET優化包縮小和捆綁腳本和CSS文件。 我也在爲使用HTML5緩存清單的ASP.NET應用程序開發移動UI。C#Web.Optimization捆綁包和HTML5緩存Manifest

當文件發生更改並且應用程序緩存被回收時,優化包會更新動態包URL的版本。

我希望能夠在發生這種情況時更新我的​​清單版本,並且包括優化包在清單中提供的動態URL。

如何讀取當前版本(「v」參數)或其他任何內容來觸發清單更新?

/_assets/bundles/global?v=fmbQlO0mGjXyliVEBImQIr5yoMX0Tw0tlMK45jlwHZ81 

例如代碼:

string version= "2.6"; 
    StringBuilder output = new StringBuilder(); 
    output.AppendLine("CACHE MANIFEST"); 
    output.AppendLine(string.Format("# v{0}", ??????)); 


    output.AppendLine("CACHE:"); 
    output.AppendLine(Scripts.Url("~/bundles/global").ToString()); 
    ... 

回答

0

,如果它被改變的應用程序清單將自動觸發的更新。

對於靜態資產,人們通常會在註釋中更改版本號,以便更改文件並觸發更新,即使CACHE,NETWORK和FALLBACK部分下的內容未更改。

當您使用由System.Web.Optimization生成的URL時,當bundle中的任何CSS或JavaScript文件的內容發生更改時,URL將會更改。這意味着清單文件將自動與以前版本的文件不同,並會觸發更新。

通過更新版本評論,不需要強制文件有所不同。