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);
});