【问题标题】:From WCF to API call - No connection could be made because the target machine actively refused it从 WCF 到 API 调用 - 无法建立连接,因为目标机器主动拒绝它
【发布时间】:2018-02-14 20:41:33
【问题描述】:

我正在从 WCF 服务调用外部 API 并出现以下错误。

System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it xx.xx.xxx.1:443

如果我从控制台应用程序制作相同的 API,那么它工作正常。

如何从本地托管的 WCF 服务发出相同的 API 请求?

【问题讨论】:

  • 控制台和WCF是否在项目属性中使用相同版本的Net构建。比较项目属性,看看是否有任何差异。
  • 两者都使用相同版本的 .Net - 4.6.1

标签: c# .net rest sockets wcf


【解决方案1】:

当您运行控制台应用程序时,您使用的帐户与 IIS 中托管的 WCF 服务与 API 通信时使用的帐户不同。

当它托管在 IIS 中时,它将使用在应用程序池的高级设置的身份部分中设置的任何内容。这通常是“ApplicationPoolIdentity”或“NetworkService”等。可能是用于标识的此帐户无法与 API 通信。

您可以做一个测试来排除用于身份的帐户的问题,即使用您的域帐户作为身份并查看通信是否成功(即尝试模拟)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-24
    • 2023-03-25
    • 1970-01-01
    • 2015-04-05
    • 2016-12-08
    • 2014-09-05
    • 2017-06-01
    相关资源
    最近更新 更多