SignalR通过userId向用户发送通知

时间:2017-02-08 12:20:44

标签: signalr signalr-hub signalr.client

我有通知中心,我有方法应该使用Clients.Users()方法通过其ID来向相关用户发送某种消息,该方法接受参数IList<string> UserIds

在Notification类中,我得到了某种消息,在第二个List参数中,我只获得了我从数据库中获取的用户ID。

public void NewProjectNotification(Notification notification, List<string> involvedUsers)
{
    IHubContext _ctx = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();
    _ctx.Clients.Users(involvedUsers).newProjectNotification(notification);
}

我的问题是,当这个hub方法被触发时,它永远不会到达我的angularJS客户端方法来广播这个通知

$scope.notifications = NotificationService.newProjectNotification(function(callback){
    $scope.OverAllCount = $scope.OverAllCount + 1;
    $scope.notification.push(callback.Value);
});

我的问题显然是使用Clients.Users()方法,因为当我使用All方法向所有连接的用户广播此消息时,它工作正常,但我只想将其发送给相关用户,而不是所有

我知道还有Clients()方法接受List<string> connectionIds,但我想知道我在这种情况下做错了。

编辑:

1)_ctx是Hub上下文,我用它来访问客户端方法

2)关于Id的...我得到了项目表单,我传递了相关用户,之后我提取了他们的Id并将它们存储到List中,并将其作为参数发送到我的Hub方法

0 个答案:

没有答案
相关问题