繁体   English   中英

如何在Visual Studio 2015中正确设置Angular2和WebAPI 2.0并部署到IIS

[英]How to properly setup Angular2 and WebAPI 2.0 in Visual Studio 2015 and deploy to IIS

我和我的团队正在开发一个新的绿色领域项目,我们将使用Visual Studio 2015.我们的客户端应用程序将完全在Angular 2中开发,我们的api将使用ASP.NET Web API 2.0开发

到目前为止,我是如何构建我的解决方案的:

Angular2:使用ASP.NET MVC5 .NET 4.6.2空模板

WebAPI2:使用ASP.NET WebAPI 2模板

Solution Explorer

我有Web API项目映射到我的本地IIS服务器:

Web API IIS

我将Angular 2应用程序映射为使用IIS Express。

在此输入图像描述

当我在本地运行时,我必须在Web API项目上启用CORS ,以使这两个应用程序协同工作。

CORS

然后在我的Angular 2应用程序中,我不得不对整个URL进行硬编码:

硬编码的URL

所以我的问题是这样的:

  1. 这是Visual Studio中设置Angular 2和Web API项目的最佳方法吗?

  2. 是否可以不必使用CORS? 这似乎不仅对本地开发有问题,而且对开发,舞台和制作也有问题!

  3. 是否有可能将Angular2和WebAPI都设置在同一个IIS虚拟目录下,以便在我的Angular 2项目中我可以调用const URL_CUSTOMER = 'api/Customers'; 而不是像我现在拥有的完全合格的域名?

我非常感谢有关构建此解决方案的最佳实践的指导,而不是现在的指导! 谢谢!

我的意见

1)这是Visual Studio中设置Angular 2和Web API项目的最佳方式吗?*

看起来不错,但我会使用本地IIS为你的角度应用程序和web api。 例如: http://myapp.localhost.comhttp://myapp.localhost.comhttp://myappapi.localhost.com

2)是否可以不使用CORS? 这似乎不仅对本地的发展有影响,而且在进入开发,舞台和制作时会出现问题!*

如果你想要不同的域,你需要支持CORS,否则你所有的HTTP请求都需要是JSONP,这不是好的IMO。

3)是否有可能将Angular2和WebAPI都设置在同一个IIS虚拟目录下,以便在我的Angular 2项目中我可以调用const URL_CUSTOMER ='api / Customers'; 而不是像我现在拥有的完全合格的域名?*

您需要以某种方式在web.config AppSettings(或任何后端设置)中设置API URL,然后将其传递给您的角度应用程序。 它永远不会成为本地或生产中的相对路径,所以你必须适应它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM