过滤掉SignalR中某些用户的一些条目

时间:2016-05-21 06:20:12

标签: signalr

我正在尝试构建我称之为使用SignalR的“数据源”,但我想做的关键是我想根据用户的偏好过滤掉一些用户的数据。

所以,想想一个聊天室,每个条目都有一些标签,例如健身,棒球等

如果用户A在其订阅的标签中有棒球,则其中具有“棒球”标签的下一个条目将对用户A可见。但是,如果用户B没有“棒球”标签,则不应该看到该条目在他的偏好中。

换句话说,一个聊天室,用户看不到每个条目,只看到与其标签订阅相匹配的条目。

SignalR可以实现吗?

1 个答案:

答案 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);
}