gpt4 book ai didi

c# - 带有 CDN 的 ASP.NET MVC 多虚拟路径 bundle

转载 作者:行者123 更新时间:2023-11-30 17:43:21 24 4
gpt4 key购买 nike

我正在尝试使用 ASP.NET MVC 4 添加一些支持 CDN 的 bundle 。目的是通过托管在同一数据中心的许多其他站点在本地共享内容

第一次尝试是:

            bundles.Add(new ScriptBundle("~/bundles/jquery", "http://mysite/Content/js/").Include(
"http://mycdnsite/Content/js/jquery.unobtrusive-ajax.min.js",
"http://mycdnsite/Content/js/jquery-migrate-1.2.1.js",
"http://mycdnsite/Content/js/jquery-{version}.js"));

不幸的是,这是不可能的,因为虚拟路径必须是相对的(只允许应用程序相对 URL (~/url))

然后我尝试了这个:

        bundles.Add(new ScriptBundle("~/bundles/jquery", "http://mycdnsite/Content/js/").Include(
"~/jquery.unobtrusive-ajax.min.js",
"~/jquery-migrate-1.2.1.js",
"~/jquery-{version}.js"));

但是还是不行,连CDN都开启了:

BundleTable.EnableOptimizations = true;
bundles.UseCdn = true;

是否可以使用 CDN 创建多内容包?

最佳答案

据我所知,您不能在一个 bundle 中提供多个 CDN 主机。 ScriptBundle 允许您为包指定备用 URL,并且包可以包含多个本地文件。您的语法是正确的。

bundles.UseCdn = true;
bundles.Add(new ScriptBundle("~/bundles/jquery",
@"//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.js"
).Include(
"~/Scripts/jquery-{version}.js"));

有几种方法可以解决这个问题。

  1. 每个 CDN 托管脚本有一个包。
  2. 手动创建文件包并将它们上传到您自己的 CDN 并引用它。

关于c# - 带有 CDN 的 ASP.NET MVC 多虚拟路径 bundle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com