我第一次使用signalr同時向用戶組廣播通信。我有兩個地區 - 美國和加拿大以及多個應用程序的銷售/營銷/等。SignalR - 連接/用戶小組
我希望能夠將郵件發送到:在
- 所有用戶在特定區域
- 所有用戶的特定應用程序的不分地域
- 所有用戶的特定應用程序的特定區域
現在我可以將消息發送到特定的組 - 實質上完成上面的#1和#2。是否可以有子組用戶 - 或者只有當用戶當前分配給兩個組時才發送消息?如果沒有,是否有實現此功能的最佳做法?
感謝 JP
我第一次使用signalr同時向用戶組廣播通信。我有兩個地區 - 美國和加拿大以及多個應用程序的銷售/營銷/等。SignalR - 連接/用戶小組
我希望能夠將郵件發送到:在
現在我可以將消息發送到特定的組 - 實質上完成上面的#1和#2。是否可以有子組用戶 - 或者只有當用戶當前分配給兩個組時才發送消息?如果沒有,是否有實現此功能的最佳做法?
感謝 JP
不,你不能開箱即用。
然而,您可以嘗試查詢不符合條件的用戶,然後將其包含在您的group.send請求中的「排除連接ID」參數中。
因此,例如,(命令代碼)
var exclusionIds = myusers.Where(u => u.OnApplication("App1")).Where(x => !x.InRegion("xyz")).Select(z => z.ConnectionId).ToArray();
Clients.Group("App1", exclusionIds).foo();
SignalR僅提供幫助您保持簡單的羣體的功能。您必須在代碼中處理您的子組邏輯。您可以爲不同的組創建「集合」,並根據需要將消息發送到這些組/集合的交集。您可以查看SignalR中的聊天示例,瞭解有關如何在應用程序中管理組的更多信息。