ASP.NET bundle - 包含的文件更改后 bundle 未更新(返回 304 未修改)

标签 asp.net bundle asp.net-optimization bundling-and-minification

我正在尝试将 ASP.NET 与 ASP.NET MVC 4 应用程序 bundle 在一起。情况是,我想制作一个 CDN 风格的服务,其中包含 JS 和 CSS 文件,您可以使用此类型地址从其他站点访问这些文件:http://www.mycdn.com/scripts/plugin/js ,它 bundle 并缩小所有包含的 .js 文件。

我的一个文件的 bundle 配置如下所示:

bundles.Add(new ScriptBundle("~/Scripts/plugin/pluginjs").Include("~/Scripts/plugin/jquery.plugin.js"));

但是,当我这样做时,即使在更改原始 js 文件后, bundle 也不会更新。当我刷新浏览器时,我不断收到 304 Not Modified,并且缩小文件的内容未更新。我怎样才能更新 bundle ,因为包含旧内容的 bundle 是没有用的?我尝试了各种方法,但无法找到解决方案。

最佳答案

我刚刚遇到了完全相同的问题。我有一个包含 2 个 CSS 文件的文件夹:

  • ~/Content/main.css
  • ~/Content/main.min.css(在我之前的手动缩小过程中预先存在)

我的 bundle 代码是这样的:

bundles.Add(new StyleBundle("~/css/main").Include("~/content/main.css"));

无论我改变了多少main.css输出是具有相同内容的相同网址:

<link href="/css/main?v=6Xf_QaUMSlzHbXralZP7Msq1EiLTd7g1vId6Vcy8NJM1" rel="stylesheet"/>

更新 bundle 的唯一方法是重建我的解决方案 - 显然不是最好的方法。

但是一旦我删除main.min.css ,一切开始工作得很好。再玩一点我发现,如果两者都有 main.cssmain.min.css ,然后更新main.min.css实际上会更新 bundle ...很奇怪,但至少是可以预测的。

关于ASP.NET bundle - 包含的文件更改后 bundle 未更新(返回 304 未修改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12158933/

相关文章:

ios - 如何将 IOS 应用程序包资源中的文件文件夹复制到文档目录

html - 从包装容器中流出的网格面板

asp.net - “bootstrap”不是有效的脚本名称。名称必须以 '.js' 结尾

c# - 如何让FileUpload控制点击 'Browse'后立即上传文件?

java - 将 saveInstanceState 与 Uri ArrayList 和适配器一起使用

ruby-on-rails - 需要 Rails bundle 安装密码

asp.net-mvc-3 - GZip system.web.优化包

asp.net-mvc-4 - MVC4 StyleBundle 没有以正确的顺序呈现包

c# - MVC4 bundle CSS 失败意外 token ,找到 '@import'

c# - ASP.NET 5、MVC 6、Web API -> ModelState.IsValid 始终返回 true