部署的Web Core API:响应状态代码不表示成功:404(未找到)。

时间:2017-06-29 16:04:38

标签: iis asp.net-core-webapi

我部署了一个新的应用程序,其中包含一个与Web Core API通信的Web项目。 我使用此链接作为参考来设置它; https://docs.microsoft.com/en-us/aspnet/core/publishing/iis IIS已在此测试服务器上设置了一段时间,因此某些步骤不需要重复。 在IIS中,如果我浏览Web API,则启动如下。 enter image description here 但是,如果我对使用它的Web项目也这样做,我会收到此错误:

Response status code does not indicate success: 404 (Not Found) for a simple get call to the Web API. 

我应该考虑解决这个问题?

2 个答案:

答案 0 :(得分:1)

我看到的多种可能性

  • 您刚浏览到根网址,但IIS中没有任何default page setup。要查看Web API,请浏览到您在route.config文件中指定的webapi URL。

根据您的routing,默认路线会是这样的。您可以浏览

http://testweb.sherrygreengrp.com/api/<controller>

  • 您没有Windows Server Hosting Bundle
  

在主机上安装.NET Core Windows Server Hosting软件包   系统。该软件包将安装.NET Core Runtime,.NET Core   库和ASP.NET核心模块。该模块创建   IIS和Kestrel服务器之间的反向代理。注意:如果是系统   没有Internet连接,获取并安装Microsoft   Visual C ++ 2015 Redistributable在安装.NET Core之前   Windows Server Hosting包

  • ASP.NET CORE Module已正确配置。您是否在web.config中设置了此设置

    <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" /> </system.webServer> </configuration>

答案 1 :(得分:1)

我发现部署服务器上所需的URI需要具有我的应用程序的名称,而在开发过程中则不需要。一旦我进行了修正,它就可以了。