首页 > 解决方案 > 来自 asp.net core 2.2 signalr 控制台应用程序的服务器集线器连接

问题描述

我有一台使用 SignalR (IIS) 运行 .net 4.5.1 的服务器

我想使用 .net core 2,2 上的控制台客户端应用程序连接到服务器。我已经在客户端上安装了以下 Nuget 包

Microsoft.AspNetCore.SignalR.Client;

并跟随

https://docs.microsoft.com/en-us/aspnet/core/signalr/dotnet-client?view=aspnetcore-2.2

我不断收到以下错误

“打开连接时出错:System.Net.Http.HttpRequestException:响应状态码不表示成功:404(未找到)。”

服务器上我的集线器的名称是正确的,所以我不确定问题所在

我也试过

.WithUrl("http://172.10.0.20:81/client/?hub=myHub")

请帮忙

connection = new HubConnectionBuilder()

//.WithUrl("http://172.10.0.20:81/client/?hub=myHub")

.WithUrl("http://172.10.0.20:81/myHub")

.Build();

connection.StartAsync().ContinueWith(task => {

if (task.IsFaulted)

{Console.WriteLine("There was an error opening the connection:{0}",

task.Exception.GetBaseException());}

else

{Console.WriteLine("Connected");}}).Wait();

connection.StartAsync();

标签: asp.net-coresignalrasp.net-core-signalr

解决方案


我无法重现您的问题。但由于您的服务器托管在 .net 4.5.1 上,请确保您在服务器端和客户端使用相同版本的 SignalR。

这意味着您不能将 ASP.NET CORE SignalR(集线器或客户端)与 ASP.NET SignalR(集线器或客户端)一起使用。你不能混合它们。您可以点击这里了解更多信息。


推荐阅读