捆绑从CDN服务的多个CSS?

时间:2012-11-14 15:26:48

标签: asp.net-mvc-4 cdn bundling-and-minification

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

是否有办法捆绑从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")
            );

有什么想法吗?

1 个答案:

答案 0 :(得分:20)

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

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

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

所以简而言之,我会说将来自CDN的文件捆绑在一起没有任何好处,但是将捆绑的文件上传到CDN是不同的故事。

请注意,虽然可以使用CDN for bundle使用: 查看this article

的“使用CDN”部分

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