我正在使用SignalR - 传输类型longPolling。我能够看到功能按预期工作。实时地,我可以看到有相当多的signalR调用会严重影响性能。
根据我的分析,似乎longPolling创建连接并使用它并关闭它。然后再次按需创建连接。我觉得,这可能是在某个时间点看到很多signalR电话的原因。
请您分享您对此的看法,以解决/避免大量的SignalR电话?
当我尝试使用foreverFrame作为传输类型时,未启用SignalR连接。我可以在控制台中看到以下错误。
SignalR:无法使用永久帧源连接,它在3000秒后超时 SignalR:永远停止帧 SignalR:无法成功初始化传输。尝试指定不同的传输或根本不指定自动初始化 启动Signalr Hub时出现问题。
答案 0 :(得分:0)
这似乎是基于文档的长轮询的默认行为 - 长轮询不会创建持久连接,而是使用一个保持打开的请求轮询服务器,直到服务器响应,此时连接关闭,并且立即请求新连接。这可能会在连接重置时引入一些延迟。
您对foreverFrame的使用可能无效,因为您正在使用的浏览器中无法使用传输。
我还没有理解为什么有人会强迫运输到特定的运输。可能,我还没有碰到需要它的情况。
SignalR将处理确定每个客户使用哪种传输的方面,这是其中一项很大的好处。