如果我的Web應用程序中有許多常規的AJAX方法,但我已經引入了一個始終在線的SignalR連接,那麼將常規AJAX方法改爲集線器方法是否值得重構?它會使用已經存在的連接更快嗎?SignalR方法調用 - 比傳統的AJAX調用更快?
2
A
回答
5
恕我直言,這將是一個濫用SignalR。
會更快嗎?這取決於幾個因素。其中第一個是最終使用哪個運輸工具。如果是網絡插座,然後,是的,因爲消息將在有保證已經確立,但如果它的SSE或LongPolling你每次還是做一個普通的舊式HTTP POST到一個連接來發送發送消息。第二個因素是,如果服務器允許Keep-Alive連接,那麼瀏覽器將在請求之間的一段時間內保持打開到服務器的TCP連接,所以無論如何建立連接都不會有任何開銷。
而且,不要忘了我們的強大朋友GET動詞和所有它的網絡的最重要的特徵之一方面帶來的善良:緩存。如果你有很多可緩存的數據,你不會希望通過網絡套接字發送實時消息來獲取和檢索,因爲如果你這樣做的話,你基本上會拋棄Web的整個基礎架構。瀏覽器無法再幫助你,你必須用本地存儲和自定義消息來構建所有的智能,因爲缺乏更好的單詞,這是瘋狂的。 :)你也放棄了代理緩存公共數據的能力,這個數據在多大程度上可以幫助性能方面被極度低估。
我的指導原則是:你離開什麼都可以簡單的請求/響應它到底是當今方式利用AJAX和只使用像SignalR技術對於它的意圖是:實時通信。
相關問題
- 1. 比方法調用更快的動作?
- 2. SignalR調用方法
- 3. 爲什麼Java反射調用比方法調用更快?
- 4. 首先AJAX調用更快調試時
- 5. Ajax方法調用
- 6. SignalR:返回值的調用方法
- 7. C#方法 - 比代碼更快地調用
- 8. 使用Ajax方法調用
- 9. 調用方法的最快方法
- 10. 在Swift中調用SignalR方法(SwiftR)
- 11. SignalR不調用客戶端方法
- 12. SignalR C#如何調用方法
- 13. 未調用SignalR JS客戶端方法
- 14. 獲得Ajax回調的最快方法
- 15. 從SignalR調用更新UI
- 16. 用signalR回調更新UI
- 17. Dll函數調用比正常的函數調用更快嗎?
- 18. 哪種方法可以比其他方法更快地調用native API?
- 19. 比SendMessage()更快地調用函數嗎?
- 20. AJAX調用POST方法
- 21. RegisterClientScriptBlock在AJAX方法調用
- 22. jQuery調用PHP方法ajax
- 23. Ajax調用PUT方法
- 24. .on調用方法ajax
- 25. ajax調用C#方法
- 26. 爲什麼調用函數比不調用函數更快?
- 27. 嘗試在統一中調用方法。不能調用方法
- 28. 從ajax回調函數調用方法的更優雅的方法
- 29. 加快jquery ajax調用
- 30. 調用使用JSF2 + ajax的方法
這是一個奇妙和有益的答覆,德魯。非常感謝! – blaster