【发布时间】:2021-08-12 16:51:49
【问题描述】:
如果我调试代码超过 30 秒,网页就会显示
“正在尝试重新连接到服务器:# of 8”
开发控制台消息是
“错误:连接断开并出现错误'错误:服务器超时 已过而未收到来自服务器的消息”。
是否有任何设置可以禁用超时或至少使其比现在更长?
【问题讨论】:
-
为什么会出现问题?您能否在修复代码的同时让它断开连接,然后在服务器再次响应 SignalR ping 时重新连接它?
如果我调试代码超过 30 秒,网页就会显示
“正在尝试重新连接到服务器:# of 8”
开发控制台消息是
“错误:连接断开并出现错误'错误:服务器超时 已过而未收到来自服务器的消息”。
是否有任何设置可以禁用超时或至少使其比现在更长?
【问题讨论】:
尝试在您的 Startup.cs 或 Program.cs 中添加它,无论您使用的是哪个,然后将 TimeSpan 设置为您想要的超时长度:
app.UseEndpoints(endpoints =>
// other settings go here
endpoints.MapBlazorHub(options => options.WebSockets.CloseTimeout = new TimeSpan(1, 1, 1));
});
【讨论】:
如果您使用长轮询,您还需要添加此配置选项:
app.UseEndpoints(endpoints =>
// other settings go here
endpoints.MapBlazorHub(options => {
options.WebSockets.CloseTimeout = new TimeSpan(1, 1, 1);
options.LongPolling.PollTimeout = new TimeSpan(1, 0, 0);
})
);
【讨论】: