我正在尝试构建我称之为使用SignalR的“数据源”,但我想做的关键是我想根据用户的偏好过滤掉一些用户的数据。
所以,想想一个聊天室,每个条目都有一些标签,例如健身,棒球等
如果用户A在其订阅的标签中有棒球,则其中具有“棒球”标签的下一个条目将对用户A可见。但是,如果用户B没有“棒球”标签,则不应该看到该条目在他的偏好中。
换句话说,一个聊天室,用户看不到每个条目,只看到与其标签订阅相匹配的条目。
SignalR可以实现吗?
答案 0 :(得分:0)
您要找的是SignalR Groups。每个用户可以根据他们的偏好加入/离开不同的组:
public Task JoinGroup(string tagName)
{
return Groups.Add(Context.ConnectionId, tagName);
}
public Task LeaveGroup(string tagName)
{
return Groups.Remove(Context.ConnectionId, tagName);
}
public Task SendMessage(string message, string tagName)
{
Clients.Group(tagName).addChatMessage(message);
}