簡體   English   中英

PartialView中的SignalR客戶端未接收

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM