我使用的是ASP。. NET优化包,以缩小和捆绑脚本和CSS文件。我也在为我的ASP开发一个移动UI。. NET应用程序,使用HTML5缓存清单。
优化包会在文件发生变化和应用缓存被回收时更新动态bundle 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());
...
如果应用程序清单发生更改,它将自动触发更新。
对于静态资产,人们通常在注释中更改版本号,以便文件被更改并触发更新,即使CACHE, NETWORK和FALLBACK部分下的内容不变。
当您使用System.Web生成的url时。优化,当包中任何CSS或JavaScript文件的内容发生变化时,URL也会发生变化。这意味着清单文件将自动与文件的前一个版本不同,并将触发更新。
不需要通过更新版本注释来强制文件不同