我有一个使用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