2013-12-08 42 views
1

嗨我正在嘗試在SignalR中創建不同的組,並且我能夠這樣做。現在,我只想發送該組中的某個特定組的消息,那麼如何才能知道調用者轉至哪個組,並相應地在該組中發送消息。ASP.NET SignalR:如何獲取特定調用者的組名稱?

這裏是我的服務器端代碼:

public Task JoinGroup(string groupName) 
    { 
     return Groups.Add(Context.ConnectionId, groupName); 
    } 

    public Task LeaveGroup(string groupName) 
    { 
     return Groups.Remove(Context.ConnectionId, groupName); 
    } 

    public void SendToGroup(string groupName,string name, string message) 
    { 
     Clients.Group(groupName).addChatMessage(name, message); 
    } 

任何幫助大大appriciated。

回答

3

爲了知道「呼叫者」與哪個組相關聯,您必須自己跟蹤該信息。

這可以通過靜態ConcurrentDictionary來完成,它將連接ID​​映射到您定義的某種用戶對象。然後,您可以在OnConnected中添加它,並在OnDisconnected中將其從中刪除。因此,無論何時將用戶添加到組中,都可以在自己的用戶對象中跟蹤該信息。

希望這會有所幫助!

+0

謝謝隊友我想通了,我的應用程序正在運行:) –

相關問題