Javascript .NET核心信号器-Chrome和Firefox在30-40分钟后停止显示来自服务器的更新
我有一个带有.NET核心后端的AngularJS应用程序,使用的是Nginx服务器,我使用的是以下前端信号器库: 应用程序工作正常,但是大约30-40分钟后,控制台中会出现以下错误,客户端不再显示任何实时消息。我需要刷新浏览器,它才能再次工作。这在Chrome和Firefox上都会发生:Javascript .NET核心信号器-Chrome和Firefox在30-40分钟后停止显示来自服务器的更新,javascript,c#,asp.net-core,websocket,signalr,Javascript,C#,Asp.net Core,Websocket,Signalr,我有一个带有.NET核心后端的AngularJS应用程序,使用的是Nginx服务器,我使用的是以下前端信号器库: 应用程序工作正常,但是大约30-40分钟后,控制台中会出现以下错误,客户端不再显示任何实时消息。我需要刷新浏览器,它才能再次工作。这在Chrome和Firefox上都会发生: Error:Connection disconnected with Error'Error:WebSocket closed with status code:1006() 我已经看过这些问题,但它们并没
Error:Connection disconnected with Error'Error:WebSocket closed with status code:1006()
我已经看过这些问题,但它们并没有解决我的问题:
我试过:
- 在Nginx上设置以下配置设置
代理读取超时86400s代码>
代理发送超时86400s代码>
- 在Nginx中安装websockets服务(这似乎至少给了我一个websocket连接-我已经验证了它使用的是
):wss
- 在客户端集线器关闭后重新启动:
hub.deviceHub.onclose(async () => { console.log("restarting hub connection after it was closed"); await hub.StartConnection; });
这是后端的一个问题。后端信号器连接大约每40分钟断开并重新启动一次。重新启动连接时,我正在重新使用现有连接。现在,在重新连接之前,我在后端创建了一个全新的连接。请参阅@Mark Feldman的回答,了解我的问题的解决方案-。您可以尝试将
Microsoft.AspNetCore.signer
日志记录转到Trace
级别,并检查是否有更多信息。