Signalr 信号器通过用户ID向用户发送通知
我得到了一个通知中心,在那里我得到了一个方法,该方法应该使用Signalr 信号器通过用户ID向用户发送通知,signalr,signalr-hub,signalr.client,Signalr,Signalr Hub,Signalr.client,我得到了一个通知中心,在那里我得到了一个方法,该方法应该使用Clients.users()方法,通过Id向相关用户发送某种消息,该方法接受参数IList UserIds 在Notification类中,我得到了某种消息,在第二个List参数中,我只得到了从数据库中获取的用户Id public void NewProjectNotification(Notification notification, List<string> involvedUsers) { IHubCont
Clients.users()
方法,通过Id向相关用户发送某种消息,该方法接受参数IList UserIds
在Notification类中,我得到了某种消息,在第二个List参数中,我只得到了从数据库中获取的用户Id
public void NewProjectNotification(Notification notification, List<string> involvedUsers)
{
IHubContext _ctx = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();
_ctx.Clients.Users(involvedUsers).newProjectNotification(notification);
}
我的问题显然是Clients.Users()
方法,因为当我使用All
方法向所有连接的用户广播此消息时,它工作正常,但我只想将其发送给相关用户,而不是所有用户
我知道还有一个Clients()
方法接受List connectionid
,但我想知道在这种情况下我做错了
编辑:
1) _ctx是我用来访问客户机方法的集线器上下文
2) 关于身份证。。。我得到了一个项目表单,在那里我传递了相关的用户,然后我提取他们的Id并将他们存储到
列表中
,然后将其作为参数发送到我的Hub方法中如何使用用户Id创建列表?那么什么是ctx呢。你是如何得到这个背景的?嗨,我更新了我的问题,我相信这是同一个问题。谢谢你的这篇文章,我以前没有找到它。无论如何,我发现当我将用户名列表
发送到Clients.Users()
方法中时,它工作得非常好,我发现一个非常奇怪的方法,我偶然发现了它。
$scope.notifications = NotificationService.newProjectNotification(function(callback){
$scope.OverAllCount = $scope.OverAllCount + 1;
$scope.notification.push(callback.Value);
});