ASP.NET 4.5 には優れた新しいバンドル機能があり、CDN の使用をある程度サポートしているようです。CDN とのバンドル機能の使用について Microsoft が示した例は次のとおりです。
public static void RegisterBundles(BundleCollection bundles)
{
//bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
// "~/Scripts/jquery-{version}.js"));
bundles.UseCdn = true; //enable CDN support
//add link to jquery on the CDN
var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";
bundles.Add(new ScriptBundle("~/bundles/jquery",
jqueryCdnPath).Include(
"~/Scripts/jquery-{version}.js"));
// Code removed for clarity.
}
これは、CDN 上のファイルへのパスを明示的に伝える必要があることを示唆しているようです。
CloudFront CDN (および他の多くの CDN と思われます) は、独自のサブドメインをミラー化したサブドメインを提供します。打つhttp://uniquesubdomain.cloudfront.net/js/myfile.js?v=1
とサーブするhttp://mydomain.com/js/myfile.js?v=1
このようにして、すべてのリンクに接頭辞を付けるだけhttp://uniquesubdomain.cloudfront.net/
で、ファイルは CloudFront のサーバーになります。
ASP.NET 4.5 バンドル機能は、この種類の CDN と互換性がありますか? バンドリング機能のすべてのリンクに CDN ドメインのプレフィックスを付ける組み込みの方法はありますか?
例えば。
bundles.UseCdn = true;
var myBundle= new ScriptBundle("~/bundles/js", "https://uniquedomain.cloudfront.net/");
myBundle.Include("~/js/file1.js");
myBundle.Include("~/js/file2.js");
引き起こすだろう
<script src="https://uniquedomain.cloudfront.net/bundles/js?v=6y-qVPSK3RYOYHfPhOBDd92H4LjEjs-D3Hh2Yml6CXA1"></script>