2016-04-29 112 views
3

的成员,谁属于多个预选赛小组成员会收到多封邮件:发送单SignalR消息给多个组

public class ChatHub : Hub 
{ 
    public void Send(string name, string message, params string[] groups) 
    { 
     this.Clients.Groups(groups).broadcast(name, message); 
    } 
} 

有没有办法送给属于任何组的成员的用户发送消息?换句话说,如果groups参数以上定义为["grpA","grpB"],我希望以下发生:

  • 用户1,grpA的构件:1个消息
  • 用户2,grpB的构件:1个消息
  • 用户3,和grpA的grpB成员:1消息
  • 用户4,grpA和GRPC的构件:1消息
  • 用户5,GRPC的成员:0消息

回答

2

除了创建自己的方式来跟踪每个组中的用户以及在广播之前/之后自己跟踪不同用户之外,没有办法做到这一点。

这个API可能会在未来的版本中引入,但现在还没有办法做到这一点。

1

不,现在在signalR中没有这样的功能。为了实现这一目标包含

MEMBERID,组ID,SignalRConnectionID

,然后将信息获取特定群体成员的不同connectionIDs此功能,你可以在一些地方保存在数据库中存储的连接,并使用给他们发邮件语法如

List<String> connectionIDs = #GET DISTINCT LIST OF CONNECTIONS FROM DB OR IN MEMORY STORAGE#; 

Clients.Clients(connectionIDs).broadcast(name, message);