ASP.Net MVC 5 - 使用捆绑的JavaScript和CSS部署单独的CDN站点



我想知道是否可以部署两个 ASP.Net MVC 站点来执行以下操作。

  1. 主网站:包含所有控制器和视图
  2. CDN网站:包含所有的JavaScript和CSS(捆绑了第一个网站使用的JS和CSS)

我期望在解决方案中您将有两个网站项目。 我认为在调试模式下,这将正常工作,因为捆绑包名称是一致的。

但是,在不以调试模式运行(在 web.config 中关闭)的生产中,文件名具有不同的查询参数,例如 http://www.test-domain.com/bundles/bootstrap?v=2Fz3B0iizV2NnnamQFrx-NbYJNTFeBJ2GM05SilbtQU1(其中引导是捆绑包的名称)。

有谁知道如何从主网站的 Razor 视图中引用 CDN 网站中的捆绑包?

答案我意识到您不必包含捆绑名称的查询参数

如果您的 MVC 5 项目在本地计算机的发布模式下运行良好,那么它也可以在生产环境中运行。

在生产中,您需要注意的几个注意事项是:

  • 确保启用CORS,因为您在不同的站点有 js 和 css 资源(如果域名不同)

  • 确保您在具有托管视图和后端逻辑的 MVC5 站点上的引用具有正确的引用,就像您在CDN中创建的那样

  • 允许两台主机上的防火墙/托管端口进行通信。

希望这有帮助。

顺便说一句,附加到URL末尾的查询字符串只是确保每个请求都由服务器以不同的方式提供服务,而不是缓存,不会影响您的应用程序。

最新更新