我有一個使用SignalR-2.2.1
的客戶端到服務器的請求。在請求之後,服務器將把結果發回給調用者。 這裏是我的JavaScript
代碼:C#MVC - 用SignalR從服務器發送消息給呼叫者
$(document).ready(function() {
var myHub = $.connection.signalHub;
myHub.client.receive = function (tmp) {
var obj = $.parseJSON(tmp);
//do something
};
$.connection.hub.start().done(function() {
$('#xxxxx').click(function() {
var form = $("form");
form.submit();
myHub.server.sendSomething();
});
}).fail(function (reason) {
//do something
});
});
這裏是從我的服務器端
public partial class SignalHub : Hub
{
public void SendSomething()
{
Clients.All.receive(MyJson);
}
}
代碼當我使用Clients.All
功能,它完美的罰款。但我想要的是服務器只將結果發回給調用者(發送請求的那個)。 因此,我將Clients.All.receive(MyJson)
更改爲Clients.Caller.receive(MyJson)
。我更改後,現在客戶端不更新內容。我需要在客戶端指定我的接收函數,它會得到不同的東西嗎?
不,應該有效。瀏覽器控制檯中有什麼? –
@Mark檢查我的回答 –
@SamiKuhmonen它的功能在javascript中不被調用。 theres沒有在控制檯/日誌。 – Mark