0

我正在使用 ASP.NET 优化包来缩小和捆绑脚本和 CSS 文件。我还在为使用 HTML5 缓存清单的 ASP.NET 应用程序开发移动 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());
    ...
4

1 回答 1

0

如果应用程序清单发生更改,它将自动触发更新。

对于静态资产,人们通常会更改评论中的版本号,以便文件发生更改并触发更新,即使 CACHE、NETWORK 和 FALLBACK 部分下的内容未更改。

当您使用 System.Web.Optimization 生成的 URL 时,该 URL 将在捆绑包中的任何 CSS 或 JavaScript 文件的内容发生更改时更改。这意味着清单文件将自动与文件的先前版本不同,并将触发更新。

无需通过更新版本注释来强制文件不同。

于 2013-12-16T09:08:38.307 回答