【问题标题】:Connecting to a .NET Core Web API - Unable to connect to remote server连接到 .NET Core Web API - 无法连接到远程服务器
【发布时间】:2017-08-24 05:40:15
【问题描述】:

我正在尝试从我的 WPF 项目调用我在 ASP.NET Core 中创建的 API。当调用 Web API 端点时,它返回一个错误:无法连接到远程服务器,内部错误是 SocketException: No connection could be made because the target机器主动拒绝了。

这一切都在本地主机上完成。

创建这个调用的代码是(第二行抛出异常):

string RequestUri = "api/Class/GetEverythingDue";
HttpResponseMessage response = await myClient.GetAsync(RequestUri);

myClient 是我这样配置的 HttpClient:

this.myClient = new HttpClient();
        myClient.BaseAddress = new Uri("http://localhost:56030/");
        myClient.DefaultRequestHeaders.Accept.Clear();
        myClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

我意识到有几个类似问题的问题,我只是还没有看到任何与 .NET Core 相关的问题。我只是想确保问题不是由于同时使用 WPF 和 .NET Core 造成的,而是由于它们不兼容。

感谢任何帮助。

谢谢

【问题讨论】:

  • 如果 WPF 和 .NET Core 通过 http 进行通信 - 则与每个平台兼容。只要可以通过浏览器访问您的服务器,就可以使用 http 嗅探器来定义问题的根源。
  • 您的 Web API 应用是否在侦听端口 56030?
  • 我不是 100% 确定,我该如何检查?
  • 您是否从 IIS 运行 Web API?你是通过在 Visual Studio 中调试来启动它的吗?你是怎么得到那个端口号的?确保为 WEB API 提供服务的进程正在您的本地计算机上运行。
  • 要检查是否有进程在侦听本地计算机的该端口,您可以尝试在命令提示符下运行“netstat -an”并检查是否存在具有该端口号的条目。您也可以尝试从浏览器浏览到该网址 (localhost:56030)。

标签: c# wpf web asp.net-core


【解决方案1】:

异常通常意味着防火墙正在阻止您或远程服务器未侦听端口。除非您关闭连接然后尝试访问它,否则您的代码错误不会引发此类异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多