无论如何 MVC.Net Cdn 调用回退



我现在使用 MVC.Net 捆绑和缩小。当我加载呈现捆绑包的页面时(对于我的示例,我使用的是 JQuery 的页面(,浏览器都会请求 CDN 和回退,它会向我的 Web 服务器发出 2 个请求。服务器预计每分钟接收 ~2000 次点击,所以如果我能将脚本请求减少一半,那就太好了。所以我的问题是:为什么浏览器会请求回退,我该如何防止它?

这是我的BundleConfig

     BundleTable.EnableOptimizations = true;
     bundles.UseCdn = true;
     var bundle = new ScriptBundle("~/bundles/JQueryCore", "//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.min.js")
     {
        CdnFallbackExpression = "window.jquery"
     };
     bundle.Include("~/Scripts/JQuery/jquery-2.1.1.js");
     bundles.Add(bundle);

在我的.cshtml中,我称我的脚本为@Scripts.Render("~/bundles/JQueryCore")

生成的 html 如下所示:

<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.min.js"></script>
<script>(window.jquery)||document.write('<script src="/bundles/JQueryCore"></script>');</script>

CdnFallbackExpression需要匹配您正在测试的库; window.jquery从我的信盒里出来了。试一试:

jqueryBundle.CdnFallbackExpression = "window.jQuery"; // note 'Q'.

这将修复内联测试(从而防止调用本地脚本(。

最新更新