Соединение SignalR не запускается с приложением, размещенным на IIS - PullRequest
0 голосов
/ 22 апреля 2020

Я подал заявку и пытаюсь подключиться к бэкэнду через SignalR.

Бэкэнд ASP. NET Core 3.1 размещен в IIS для упрощения разработки.

Вызов метода StartAsyn c на клиенте успешно согласовывается, но затем навсегда зависает на GET:

GET http://localhost:81/signalr?id=W3F2TRVrx_lxZoinHzTzmA

Вызов StartAsyn c () не может быть возвращен.

This происходит только на IIS. Когда я запускаю приложение самостоятельно, оно работает.

Остальная часть WebAPI также работает на IIS. Просто SignalR не будет подключаться.

Есть идеи, почему? Я нашел довольно a несколько вопросов и ответов здесь, но ни один из них на самом деле не решил эту точную проблему.

1 Ответ

2 голосов
/ 24 апреля 2020

Так что я действительно нашел ответ сам:

Поддержка веб-сокетов по умолчанию не включена в IIS. Он был представлен в IIS 8 и должен быть включен из windows 'дополнительных функций: https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support

Дополнительные функции -> IIS -> WWW services -> App Dev Features -> Протокол Websocket

...