SignalR выдает исключение SocketException при ожидании запуска - PullRequest
0 голосов
/ 27 мая 2019

Так что недавно я занялся веб-разработкой (.NET Core 3.0 Razor Pages) и решил войти в SignalR для моего RPC.
Единственная проблема заключается в том, что я смог подключиться к хабу только из JavaScript, когда я пытаюсь подключиться к хабу с помощью C # и .NET Core, он выдает мне 3 исключения: SocketException, IOException и HttpRequestException (полные трассы ниже)

Это мой код:

private HubConnection _connection;

public async Task OnGet()
{
    var connection = new HubConnectionBuilder().WithUrl("http://127.0.0.1:44389/Hub/FingerprintHub").Build();
    // The program waits here and 
    // after roughly 2 minutes throws the exceptions
    await _connection.Start();
}

и мой концентратор выглядит так:

public class FingerprintHub : Hub
{
    public async Task ScanFingerprint(string fingerprint)
    {
        await Clients.All.SendAsync("FoundFingerprint", fingerprint);
    }
}

Я настроил свои сервисы так:

app.UseWebSockets();
app.UseSignalR(routes => { routes.MapHub<FingerprintHub>("/Hub/FingerprintHub"); });

Я использую версии Microsoft.AspNetCore.SignalR.Client и Microsoft.AspNetCore.SignalR.Client.Core 3.0.0-preview5 с .NET Core Preview 5-011568


SocketException: существующее соединение было принудительно закрыто удаленным хостом.

System.Net.Sockets.SocketException (10054): существующее соединение было принудительно закрыто удаленным хостом.

IOException: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом.

System.IO.IOException: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. ---> System.Net.Sockets.SocketException: существующее соединение было принудительно закрыто удаленный узел. --- Конец внутренней трассировки стека исключений --- в System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException (ошибка SocketError, CancellationToken cancellationToken) в System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult (токен Int16) в System.Net.Http.HttpConnection.FillAsync () at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync (Boolean foldedHeadersAllowed) в System.Net.Http.HttpConnection.SendAsyncCore (запрос HttpRequestMessage, CancellationToken cancellationToken)

HttpRequestException: при отправке запроса произошла ошибка.

System.Net.Http.HttpRequestException: при отправке запроса произошла ошибка. ---> System.IO.IOException: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. ---> System.Net.Sockets.SocketException: существующее соединение было принудительно закрыто удаленный хост.

...