[英]SignalR Client in PartialView Not Receiving
我仍在了解SignalR的基礎知識。 我想在網站的不同部分中使用它,所以我想我可以在主布局中啟動連接,並在子視圖中添加客戶端方法。
根據這個答案,我有:
window.hub = $.connection.hub.start();
在我的Layout.cshtml中,以及
window.hub.done(function () {
$.connection.notificationHub.server.joinScannerGroup(1);
alert("in sub view");
});
在我的子視圖中,它起作用。 集線器已連接,並調用JoinScannerGroup()
方法。 但是,如果我嘗試添加:
$.connection.notificationHub.client.scanReceived = function (text) {
alert("scan received");
};
子視圖在javascript中的任何位置都不會被調用。 也許我很理解這是錯誤的,但是我想在主頁上進行連接,然后允許任何子頁面接收客戶呼叫。
另外,如果我將$.connection.start()
移到子視圖中,它將可以正常工作。 我理解不對嗎?
您需要在調用hub.start()
之前添加所有客戶端中心方法,或者需要在調用hub.start()
之前添加至少一個中心方法(以便SignalR訂閱中心),然后添加所有其他中心像這樣的方法:
$.connection.notificationHub.on('scanReceived ', function (text) {
alert("scan received");
});
(另請參閱文檔 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.