Squ*_*ler 2 c# iis signalr asp.net-core
我制作了一个应用程序,并尝试通过 SignalR 连接到后端。
ASP.NET Core 3.1 后端托管在 IIS 中,以便于开发。
在客户端上调用 StartAsync 方法成功协商,但随后在 GET 上永远挂起:
GET http://localhost:81/signalr?id=W3F2TRVrx_lxZoinHzTzmA
Run Code Online (Sandbox Code Playgroud)
StartAsync() 调用无法返回。
这仅发生在 IIS 上。当我启动自托管应用程序时,它可以工作。
WebAPI 的其余部分也适用于 IIS。只是 SignalR 不会连接。
所以我实际上自己找到了答案:
默认情况下,IIS 上未启用 Websocket 支持。它是在 IIS 8 中引入的,必须从 Windows 的可选功能中启用:https : //docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis- 80-websocket-protocol-support
可选功能 -> IIS -> WWW 服务 -> App Dev Features -> Websocket 协议
归档时间: |
|
查看次数: |
918 次 |
最近记录: |