这个问题是由于SignalR默认的keep-alive超时时间为2分钟,所以当页面在等待10分钟后执行到JSRuntime.Confirm()时,SignalR已经认为连接已经过期并将其关闭,从而导致页面重载/连接重置。要解决这个问题,可以在startup.cs中设置SignalR的keep-alive超时时间为比10分钟更长的时间。
以下是一个代码示例:
在Startup.cs文件中添加以下代码:
services.AddSignalR(options => { options.ClientTimeoutInterval = TimeSpan.FromMinutes(10); //设置SignalR客户端超时时间为10分钟 options.KeepAliveInterval = TimeSpan.FromMinutes(10); //设置SignalR keep-alive超时时间为10分钟 });
注意:这个解决方法是基本的,但只适用于SignalR。如果你使用的是其他的实时通信库,可能需要查找其文档以了解如何设置keep-alive超时时间。