2016-04-29 111 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);