14

我们正在研究ASP.NET MVC 4的新捆绑功能,并想知道捆绑从 CDN 提供的CSS 文件是否有任何优势?

有没有办法在 ASP.NET MVC 4 中捆绑从 CDN 提供的多个文件?这不起作用:

var cdnCssPath = "http://MyCdn/css/";    
bundles.Add(new StyleBundle("~/Content/css", cdnCssPath)
            .Include("~/Content/site.css")
            .Include("~/Content/Test1.css")
            .Include("~/Content/Test2.css")
            .Include("~/Content/Test3.css")
            );

有任何想法吗?

4

1 回答 1

20

首先,这取决于您是否有权访问可以上传自己的文件的 CDN,或者您是否使用例如 google 的 CDN 来获取 jQuery 等外部库。

如果您从 CDN 提取文件并捆绑它们,您将失去使用 CDN 的优势,除非您能够将新捆绑的文件上传到 CDN。

例如,如果您从 google 的 CDN 获取 jQuery 和 jQuery UI 并将它们捆绑,您将不再使用 google 的 CDN,而是提供本地资源(创建的捆绑包)。您可能已经减少了请求的数量,但是谷歌的 CDN(很有可能已经被用户浏览器缓存)不是 2 个请求,而是对您的服务器的一个请求(不太可能被缓存)。

所以简而言之,我会说将来自 CDN 的文件捆绑在一起没有任何优势,但是将捆绑的文件上传到 CDN 是另一回事。

请注意,可以将使用 CDN 用于捆绑:查看本文的“使用 CDN”部分

编辑:这里有一篇文章解释了何时使用 CDN 以及为什么,比我的回答更深入一点http: //www.kendoui.c​​om/blogs/teamblog/posts/13-11-07/know-when- to-cdn.aspx

于 2013-01-27T11:22:48.943 回答