【问题标题】:Server hub connection from asp.net core 2.2 signalr console app来自 asp.net core 2.2 signalr 控制台应用程序的服务器集线器连接
【发布时间】:2019-10-12 06:40:37
【问题描述】:

我有一台使用 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(未找到)。”

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

我也试过

.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-core signalr asp.net-core-signalr


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      谢谢你把我推向了正确的方向。
      我将 signalR 与网络表单一起使用,因此集线器位于

      http://172.10.0.20:82/signalr/myHub

      更改路径后,我收到以下信息错误

      There was an error opening the connection:System.IO.InvalidDataException: Invalid negotiation response received. ---> System.InvalidOperationException: Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server.
      

      【讨论】:

      • 这就是我的意思,“ASP.NET Core SignalR 与 ASP.NET SignalR 的客户端或服务器不兼容。” ,请参阅here 了解更多详情。
      猜你喜欢
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      相关资源
      最近更新 更多