c# – 从多个CDN位置创建脚本包

前端之家收集整理的这篇文章主要介绍了c# – 从多个CDN位置创建脚本包前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我们的应用程序处于离线状态,即我们无法使用第三方CDN,因此我们正在创建自己的CDN.
我想在单独的(Parent)Web应用程序中托管所有供应商脚本,然后将它们包含在其他几个MVC应用程序的捆绑包中.

例如

> http://localhost/parentWeb/Scripts/jquery.js
> http://localhost/parentWeb/Scripts/jquery-ui.js
> http://localhost/parentWeb/Scripts/globalize.js

我想包括在ASP.NET MVC App网站,位于:http:// localhost / parentWeb / childWeb

就是这样做:

bundles.UseCdn = true;
bundles.Add(
    new ScriptBundle(
        "~/bundles/VendorScripts","http://localhost/parentWeb/Scripts/jquery.js","http://localhost/parentWeb/Scripts/jquery-ui.js","http://localhost/parentWeb/Scripts/globalize.js"));

…当然当然不可能.有没有很好的解决方法

解决方法

您不能捆绑外部资源.如果你想到这一点,那么这是有道理的.这将需要捆绑器实际下载资源并将其保存到文件系统,然后才能使用它,当然如果外部资源无法达到,则会以某种方式异步执行.而且,在每个页面加载时都必须这样做,因为它不能先检索lastmod(因此知道它是否真的需要重新分组).

如果您使用CDN资源,则捆绑程序仅将该URL直接打印到该页面;它没有做任何修改.即使这样,它只允许您创建一个仅一个URL的“捆绑”,因为1)捆绑多个CDN资源是没有意义的,因为这将破坏CDN的目的,2)该捆绑仅存在于此如果CDN资源不可用,则提供后备.否则,您只需将其硬编码到页面,而不用担心设置一个捆绑包,那么您也将被送达.

猜你在找的C#相关文章