【发布时间】: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