【发布时间】:2018-11-16 14:22:54
【问题描述】:
我正在 c#.net 中创建一个宁静的 API 应用程序。当我通过 iisexpress 在调试或发布模式下编译我的应用程序时。它按预期工作。我可以使用 fiddler 并在“GET”中传递相应的参数,如用户凭据,它将连接并获得 200 (http://localhost:49917/v2/Carriers) 的响应。当我发布我的应用程序并将其部署在 IIS (http://api.test1.net/v2/Carriers) 中时。 IIS 安装在我编译应用程序的同一台计算机上。然后,我使用 fiddler 并传递必要的参数,我得到了 503 的响应。我不确定为什么不起作用。我的应用程序池是以下设置: .Net CLR 版本:v4.0 托管管道模式:集成 身份:LocalService(我也尝试过 ApplicationPoolIdentity)
当我发布我的应用程序时,我使用以下发布方法:“文件系统”。
我在主机文件 (windows/system32/drivers/etc/) 中添加了 IP 地址和主机名。我不确定为什么不工作。
是什么让 Visual Studio 在调试/发布模式下与发布版本按预期工作不同?
【问题讨论】:
-
不幸的是,503 错误可能是许多问题的结果,您应该启用 IIS 日志记录以查看根本原因是什么:docs.microsoft.com/en-us/iis/manage/…
-
developer.mozilla.org/en-US/docs/Web/HTTP/Status/503 - 错误表示服务器收到请求但无法处理。该站点是否在 IIS 中启动?还有其他错误吗?如果那里有信息,请检查事件查看器和 IIS 日志。它似乎与 Visual Studio 本身无关,更多地与 IIS 有关。也许 IIS 站点未映射到该主机或 IP 或其他东西。不幸的是,这可能是许多问题,因此需要更多信息。
-
“是什么让 Visual Studio 在调试/发布模式下与发布版本按预期工作不同?”:主机; IIS 配置不正确。从头开始:确保安装了正确的 .net 框架并启用了所有必要的 IIS 功能。
-
webservice是asp.net核心吗?如果是,请检查 .net core 的 IIS Hosting Bundle 是否已安装。
-
1) 我将尝试启用 IIS 日志 (Matthew), 2) (Stefan) 我已启用所有与“互联网信息服务”相关的 windows 功能。您推荐一个特定的 windows 功能吗? 3) (Haldo) 这个应用程序是一个带有 .NET 框架 4.5 的 asp.net web api (VS2013)。这不是 asp.net 核心。
标签: c# web-services asp.net-web-api iis-8