【发布时间】:2021-08-10 08:41:18
【问题描述】:
我有一个带有 SignalR 的 ASP .Net Core 服务器应用程序。还有一个客户端应用程序也是用 .Net Core 和 SignalR 编写的。客户端连接到服务器,它们一起工作。
在本地开发环境中工作时,一切正常,但当我将服务器应用程序部署到 Azure 应用程序服务时,我注意到了奇怪的行为。
当客户端与服务器断开连接时,客户端断开连接的事件会出现大约 30 秒的巨大延迟。虽然客户端和服务器之间的其他调用正常工作,但我们仅观察到客户端断开事件的延迟。
在调查此问题时,我想出了减少服务器设置中 KeepAliveInterval 的解决方案;
.AddSignalR(configure =>
{
configure.EnableDetailedErrors = true;
configure.MaximumReceiveMessageSize = null;
configure.KeepAliveInterval = TimeSpan.FromSeconds(1);
configure.EnableDetailedErrors = true;
});
然后客户端断开事件立即发生。
有人可以解释为什么 Azure 上的发布版本会出现此问题吗?
本地开发环境中没有出现此问题。
本地发布环境中没有发生此问题。
【问题讨论】:
标签: azure-web-app-service signalr