2012-06-29 36 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