Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何允许JavaScript接收使用信号R发送给特定用户(或自身)的消息?_Javascript_Jquery_Asp.net_Signalr - Fatal编程技术网

如何允许JavaScript接收使用信号R发送给特定用户(或自身)的消息?

如何允许JavaScript接收使用信号R发送给特定用户(或自身)的消息?,javascript,jquery,asp.net,signalr,Javascript,Jquery,Asp.net,Signalr,我以前问过这个问题,但由于这个线程()的原因,它被关闭了,因为重复了这个问题-但是这并没有显示我在标题中明确提到的JavaScript 我在ASP.Net中有一个WebForm应用程序,它使用Signal将实时数据推送到登录的用户。设置工作得很好,但我意识到我正在向所有客户端广播消息,虽然这不会导致向登录用户显示错误的数据,但会导致在只有一个用户进行数据推送时为所有用户调用JavaScript函数 我已经修改了中心代码以向特定用户广播(user),并提供了用户ID,我还尝试了使用连接ID的Cli

我以前问过这个问题,但由于这个线程()的原因,它被关闭了,因为重复了这个问题-但是这并没有显示我在标题中明确提到的JavaScript

我在ASP.Net中有一个WebForm应用程序,它使用Signal将实时数据推送到登录的用户。设置工作得很好,但我意识到我正在向所有客户端广播消息,虽然这不会导致向登录用户显示错误的数据,但会导致在只有一个用户进行数据推送时为所有用户调用JavaScript函数

我已经修改了中心代码以向特定用户广播(
user
),并提供了用户ID,我还尝试了使用连接ID的
Client
。这两种代码在codebehind中都可以正常启动,但javascript不会更新前端

我相信这是因为JavaScript没有被修改以侦听发送给用户的消息,但我不确定我需要如何修改代码以允许接收消息

Hub中的两条试用线路如下:

context.Clients.User(Me.context.User.Identity.GetUserId()).ReceiveNotification(notifCount)
context.Clients.Client(Me.context.ConnectionId).ReceiveNotification(notifCount)
此处信号器消息的JavaScript/jQuery函数:

$(函数(){
var nf=$.connection.notificationHub;
nf.client.receiveNotification=函数(notifCount){
//更新数据
}
$.connection.hub.start().done(函数(){
nf.server.sendNotifications();
}).失败(功能(e){
警报(e);
});
//$.connection.hub.start();
});

要回拨客户机(或自己),您应该使用:

Clients.Caller.addContosoChatMessageToPage(name, message);
Clients.Client(Context.ConnectionId).addContosoChatMessageToPage(name, message);
对于呼叫用户,您应使用:

Clients.Caller.addContosoChatMessageToPage(name, message);
Clients.Client(Context.ConnectionId).addContosoChatMessageToPage(name, message);

参考资料-

太棒了,你刚刚省去了3周的挫折和一个项目!非常感谢,弗兰克!