Функции SignalRCore и Azure - PullRequest
       44

Функции SignalRCore и Azure

0 голосов
/ 06 ноября 2019

Я получил веб-сервис Asp.Net-Core 3.0, который я запускаю как приложение с функцией единого контейнера. Это прекрасно работает для моего отдыха API.

Но недавно я добавил концентратор SignalR для добавления службы уведомлений, но это не работает в размещенной версии моего веб-приложения в функциях Azure. Когда я пытаюсь подключиться к концентратору с помощью клиента .Net SignalRCore 3, я получаю следующую ошибку:

Сервер отключился до того, как могло начаться рукопожатие.

КогдаЯ запускаю контейнер как базовый экземпляр Azure-контейнера, и функциональность SignalR работает нормально.

Есть идеи, почему это происходит, и если вообще возможно добавить концентратор SignalR в закрепляющий контейнер Azure-функции?

1 Ответ

0 голосов
/ 06 ноября 2019

Кажется, что SignalR не работает в экземплярах Docker-контейнеров Asp.Net-Core3, размещенных в функциональных приложениях, так как предполагается, что функциональные приложения не имеют состояния, а SignalR - нет. Для этого вам потребуется использовать отдельную службу Azure SignalR из веб-службы AspNetCore.

https://azure.microsoft.com/en-us/services/signalr-service/

и изменить регистрационный код в своем классе StartUp.

var signalRServerBuilder = services.AddSignalR();

var signalRConnectionString = m_configuration[@"SignalRConnectionString"];
if (!string.IsNullOrWhiteSpace(signalRConnectionString))
{
    signalRServerBuilder.AddAzureSignalR(signalRConnectionString);
}
...