2012-06-29 19 views
0

我有一个SignalR实现,每秒接收约15条消息,并通过Knockout更新DOM。我在IE中经历了严重的降级,但不是Chrome或Firefox。SignalR - 永远帧传输过载DOM

事实证明,ForeverFrame传输永远不会清理消息,因此,大约10分钟后DOM重载,浏览器变得无响应,并且极度崩溃。

如果我短路启动只使用长轮询,一切都桃色。

永久帧传输存在已知问题吗?是否有理由我不应该强迫它使用WebSockets /长轮询?

我使用signalR-0.5.2。

回答

0

我在IE中经历了服务器降级,但不是Chrome或Firefox。

您的意思是客户端退化权利?

在0.5.2我们清理DOM每50条消息,不知道为什么你看到这种行为:

https://github.com/SignalR/SignalR/blob/master/SignalR/Scripts/jquery.signalR.js#L962

+0

感谢跟进大卫。我确实在这里放了一些手表,虽然看起来好像清理它,但出于某种原因,文件本身似乎还在继续增长:我可以看到它在VS调试器中的尺寸增加。它很奇怪。该文件是: connect?transport = foreverFrame&connectionId = someConnectionId&connectionData = [{“name”:“SomeHub”}]&tid = 1&frameId = 3 因此JS代码行为正常,但有一个剩余的增长文件。不知道是什么导致这种情况,因为来自connection.frameMessageCount的计数看起来是正确的。 –

+0

在github上提交bug – davidfowl