我正在編寫一個簡單的頁面,用於監聽曾經檢測到的SignalR事件,它將對我們的服務器上的Web服務執行ajax請求。當設置窗口位置時,可以讓SignalR不斷開自己嗎?
一旦完成了ajax請求,就會返回一個具有自定義URI方案的url,該方案一旦被重定向到,就會打開安裝在客戶端機器上的自定義程序,而無需離開主頁面。這是通過在ajax請求的成功回調中調用window.location = url;
來實現的。
此方法在我們網站的其他領域發現我們正在使用這種方法,通過向我們的程序發送命令而不影響主頁面,在回調工作中發出多個ajax請求並重定向。
然而,我創建的新頁面使用SignalR來決定何時做出相同的Ajax請求,但它在第一次重定向時斷開連接。我在javascript控制檯中發現了以下消息,我知道這是非常正常的,以查看何時卸載頁面,但在我的情況下,調用頁面從未實際卸載:到頁面的連接在頁面中斷時正在加載。
我正在尋找一種方法來阻止SignalR在重定向上斷開連接,因爲這會導致進一步的重定向失敗,直到SignalR重新建立連接。
你有沒有嘗試設置' .url'屬性明確嗎?如果沒有設置SignalR正在使用window.location來解析目標url。 – Pawel
我剛剛嘗試在javascript中設置信號連接的url,並得到相同的結果。到目前爲止,我發現的唯一方法是在頁面中嵌入一個隱藏的iframe,並設置iframe的'.href'參數。 – EdSalter