MVC CDN Bundle在调试中不使用本地副本

时间:2013-07-05 06:16:38

标签: asp.net-mvc debugging query-optimization cdn

我已经阅读了许多关于使用CDN来托管jQuery的MVC博客。他们都说 “在上面的代码中,将在发布模式下从CDN请求jQuery,并且将在调试模式下本地获取jQuery的调试版本。” (例如http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

然而,当我写这段代码时:

// Enable CDN support
bundles.UseCdn = true;   

//add link to jquery on the CDN
const string jqueryCdnPath = "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js";
bundles.Add(new ScriptBundle("~/bundles/jquery",jqueryCdnPath)
                        .Include("~/Scripts/jquery-{version}.js"));

...并调试我的MVC应用程序,调用google api(不是我本地副本,因为我在调试中期待。

我的构建绝对是调试,在我的Web.config中,我有这个:

<compilation debug="true" targetFramework="4.0">

有谁知道为什么仍在通过谷歌CDN获取jquery的电话?

1 个答案:

答案 0 :(得分:2)

好的,我找到了答案。

我已从我的代码中删除了这一行。

BundleTable.EnableOptimizations = true

现在,当我在web.config中使用 debug = false 运行时,启用了Bundling并使用了Cdn。

使用EnableOptimizations = false将调试设置回 debug = false 时出现意外的副作用(至少让我意外)是捆绑也被忽略。能够在调试模式下启用优化但禁用CDN请求会很好。如果有可能,有人可以吗?