我看到一些使用SignalR 2.0.3庫的奇怪/意外的行爲。爲什麼我的disconnect()處理程序不會在SignalR客戶端JS中被觸發?
我想在客戶端掛鉤一些回調,他們似乎沒有被解僱。 我真的很想得到在JS客戶端工作的重新連接,重新連接和斷開連接的回調。 SignalR確實連接成功,我有服務器和客戶端之間的通信。
這裏有一對夫婦的代碼片段:
$.connection.reconnecting = function() {
alert("reconnecting");
};
$.connection.reconnected = function() {
alert("We have been reconnected");
};
$.connection.disconnected = function() {
alert("We are disconnected!");
};
我可以發誓,我已經這些當我使用SignalR 1.x的射擊 目前,我們使用2.0.3版本。
我正在運行2臺機器安裝程序,其中我的服務器應用程序(和集線器)在1臺計算機上。
下面是我使用重現步驟:
1)從第二機器連接。我查看了瀏覽器 控制檯中的網絡流量,看起來沒問題。
2)接下來我斷開客戶機與網絡的連接。在控制檯中,我看到SignalR 試圖重新連接。 (這是預期的)
3)最終N重試後,它看起來像斷開連接。 (我在控制檯輸出中看到最後一次重試是「取消」 。
4)但是,我的disconnect()處理程序沒有被調用。
任何見解或想法如何跟蹤?
感謝, JohnB
我還沒有看到這些射擊,因爲我所期望的。我使用SignalR 2.0.3。我使用IIS 7在Windows 7中運行。似乎正在使用的協議是「ServerSentMessages」。任何人都可以幫我找出這個問題的根源嗎?謝謝,JB – JohnB
我與JohnB有同樣的問題,並註冊我斷開連接的處理程序,而不是直接在中心代理對象上解決了問題。 – Phaeze