我有一个Blazor Server应用程序。当我在Visual Studio中运行该应用程序时,我在浏览器控制台中看到以下消息:
WebSocket connected to wss://localhost:44329/_blazor?id=HX5t9UdbZwj35PkMxV3Fkw.
所以在我看来SignalR正在按预期工作。在"网络"选项卡上,我看到signalR按预期工作,并显示消息:
但是,现在我将应用程序发布到IIS。该应用程序运行良好。然而,如果我在浏览器控制台中查看,我将不再看到WebSocket正在连接。我在网络选项卡中看到的内容如下:
Request URL: https://blazor/_blazor?id=O_acVtnuEIOjlRAosu1YFg
Request Method: POST
其中有很多,比如每秒1次。
所以看起来SignalR不再被使用了。
为什么会这样?我需要做些什么来确保SignalR被使用?
确保IIS上已启用WebSockets。以下是一个简要概述:
https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support