2013-07-11 32 views

回答

5

恕我直言,這將是一個濫用SignalR。

會更快嗎?這取決於幾個因素。其中第一個是最終使用哪個運輸工具。如果是網絡插座,然後,是的,因爲消息將在有保證已經確立,但如果它的SSE或LongPolling你每次還是做一個普通的舊式HTTP POST到一個連接來發送發送消息。第二個因素是,如果服務器允許Keep-Alive連接,那麼瀏覽器將在請求之間的一段時間內保持打開到服務器的TCP連接,所以無論如何建立連接都不會有任何開銷。

而且,不要忘了我們的強大朋友GET動詞和所有它的網絡的最重要的特徵之一方面帶來的善良:緩存。如果你有很多可緩存的數據,你不會希望通過網絡套接字發送實時消息來獲取和檢索,因爲如果你這樣做的話,你基本上會拋棄Web的整個基礎架構。瀏覽器無法再幫助你,你必須用本地存儲和自定義消息來構建所有的智能,因爲缺乏更好的單詞,這是瘋狂的。 :)你也放棄了代理緩存公共數據的能力,這個數據在多大程度上可以幫助性能方面被極度低估。

我的指導原則是:你離開什麼都可以簡單的請求/響應它到底是當今方式利用AJAX和只使用像SignalR技術對於它的意圖是:實時通信。

+1

這是一個奇妙和有益的答覆,德魯。非常感謝! – blaster