在IIS服务器中定义WebAPI路径的正确方法是什么

时间:2016-03-04 12:38:27

标签: c# asp.net angularjs iis asp.net-web-api

我有一个包含两个子项目的项目。第一个子项目是带有angularjs的SPA,第二个子项目是我的WebAPI 2.为了在生产环境(IIS服务器)上获取整个项目,我根据IIS上的第二个项目(WebAPI)部署了第一个项目。

SPA正确启动。但WebAPI始终不发送任何数据。 请求路径为:http://localhost:52131/api/persons

但我认为localhost是错误的,因为IIS不在我的本地计算机上。我在远程访问的服务器上访问。

SPA的工作地址为:kinga-m / myfirstspa

我是否必须在服务器上单独部署WebAPI,或者是否足以在项目设置中设置webapi是依赖项?

目前我已经在标签页上的WebAPI设置中定义了 - > IIS Express与项目网址" http://localhost:52131/"但我认为这是错误的。

1 个答案:

答案 0 :(得分:0)

@Yuro,基本上在IIS上部署WebAPI并不是一门火箭科学。你可以同时拥有SPA应用程序和WebAPI应用程序在同一个IIS服务器上或者不同,没关系。

WEB API:确保您已在默认网站和点Web API文件夹下创建了正确的“应用程序”,并指定了正确的应用程序池 - 以获得正确的.NET版本。完成此操作后,您可以使用fiddler URL直接测试API:

http://localhost/[applicationName]/api/Persons

SPA:您可以在默认网站下创建另一个应用程序并指向SPA网站。还要确保您在SPA调用中配置相同的URL。因此,如果上面提到的URL单独为您工作,那么它肯定会通过SPA工作。

建议:始终单独测试API调用。

希望您已将CORS启用到您的网络API中。