.NET Core 2.1 SignalR откат при длинном опросе с клиентом Angular 6 - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть приложение Angular 6 с поддержкой aspnet / SignalR 1.0.3 для .Net Core 2.1 (версия NuGet для Microsoft.AspNetCore.SignalR 1.0.3).При подключении я получаю:

Ошибка во время рукопожатия WebSocket: Неожиданный код ответа: 500,

после этого отката к SSE также не удалось:

Ошибка: не удалось запуститьtransport 'ServerSentEvents': ошибка: произошла ошибка,

и, наконец, я успешно подключился с помощью длинного опроса.

Код клиента:

public createConnection() {
   const options: any = {
   transport: 0,
   accessTokenFactory: () => 'my token'
   };
   this._hubConnection = new HubConnectionBuilder()
  .withUrl('http://localhost:5000/chathub', options )
  .build();
}

Когда я установил транспортдо 4 (длинный опрос напрямую) - без ошибок.Вопрос в том, почему первые два (лучших) транспорта не работают?Может быть, последняя версия клиентского пакета не поддерживает .Net Core 2.1?Любая идея, как избежать этого поведения в настоящее время?

Спасибо!

1 Ответ

0 голосов
/ 09 октября 2018

Думаю, я понял, в чем проблема.Таким образом, в коде не было ничего плохого, и он отлично работал с клиентом .NET.Я думаю, что проблема в том, что браузеры не любят небезопасный протокол ws и из-за этого делают запасной вариант.После загрузки в развертывание, которое использует https, протокол wss используется для связи и WebSocket работает без проблем.

Надеюсь, что это кому-то помогает, ура!

...