MVC捆绑Azure CDN

我有一个网站要在Azure中托管,它有很多JavaScript和CSS,但页面非常小。 我希望通过CDN提供JavaScript和CSS。

Azure提供了一个非常简洁和便捷的机制,可以按照此处的说明https://azure.microsoft.com/en-us/documentation/articles/cdn-cloud-service-with-cdn/#integrate-aspnet-bundling-and -minification与 - 蔚CDN

简而言之,您将以下代码添加到您的BundleConfig.cs中

bundles.UseCdn = true;

var version = System.Reflection.Assembly.GetAssembly(typeof(Controllers.HomeController))
    .GetName().Version.ToString();
var cdnUrl = "http://axxxxxx6.vo.msecnd.net/{0}?v=" + version;


ScriptBundle scriptBundle = new ScriptBundle("~/bundles/xx", string.Format(cdnUrl, "bundles/xx"));

scriptBundle.Include(
            "~/Scripts/modernizr-*",
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/jquery.signalR-{version}.js",
            "~/Scripts/jquery.watermark.js", ....

我已经按照这封信的指示行事,表面上看起来和预期完全一样。

但我意识到这些CDN提供的资源的缓存被禁用。 每次请求网页时,JS和CSS都会再次下载 - 这完全破坏了CDN的目的。

我还在web.config中包含了以下内容

    <staticContent>
       <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="15.00:00:00"/>
    </staticContent>

我在这里错过了什么?

提前致谢。

戴夫A

链接地址: http://www.djcxy.com/p/62721.html

上一篇: MVC bundle with Azure CDN

下一篇: Static content compression over Azure Web Role & Azure CDN not working