Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Net MVC 5-使用捆绑的JavaScript和CSS部署单独的CDN站点_Asp.net Mvc_Asp.net Mvc 5_Bundle_Cdn - Fatal编程技术网

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

Asp.net mvc Net MVC 5-使用捆绑的JavaScript和CSS部署单独的CDN站点,asp.net-mvc,asp.net-mvc-5,bundle,cdn,Asp.net Mvc,Asp.net Mvc 5,Bundle,Cdn,我想知道是否可以部署两个ASP.NETMVC站点来执行以下操作 主网站:包含所有控制器和视图 CDN网站:包含所有JavaScript和CSS(第一个网站使用的捆绑JS和CSS) 我希望在解决方案中,您将有两个网站项目。我认为在调试模式下,这可以正常工作,因为包名称是一致的 但是,在不以调试模式运行的生产环境中(在web.config中关闭),文件名有一个不同的查询参数,例如bootstrap?v=2fz3b0iizv2nnamqfrx-NbYJNTFeBJ2GM05SilbtQU1(其中boo

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

  • 主网站:包含所有控制器和视图
  • CDN网站:包含所有JavaScript和CSS(第一个网站使用的捆绑JS和CSS)
  • 我希望在解决方案中,您将有两个网站项目。我认为在调试模式下,这可以正常工作,因为包名称是一致的

    但是,在不以调试模式运行的生产环境中(在web.config中关闭),文件名有一个不同的查询参数,例如bootstrap?v=2fz3b0iizv2nnamqfrx-NbYJNTFeBJ2GM05SilbtQU1(其中bootstrap是捆绑包的名称)

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

    回答
    我意识到,您不必包含bundle name的查询参数,如果您的MVC 5项目在本地机器的发布模式下运行良好,它也可以在生产环境中运行

    在生产过程中,您只需注意以下几点:

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

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

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

    希望这有帮助

    顺便说一句,添加到URL末尾的querystring只需确保服务器对每个请求的处理方式不同,而不是缓存,不会影响应用程序