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