首页 文章

如何使用asp.net核心中的signalR向组发送通知

提问于
浏览
1

这里我们使用的是asp.net核心的singnalR alpha2版本 . 如何发送组(用户组)的通知 . 如果有任何样本,那么这里的示例链接 .

在Hub中使用group写方法 .

公共类SignalRCommonHub:Hub {

public void SendToGroup(int groupId, int userId)
    {
        Clients.Group(groupId.ToString()).InvokeAsync("refresh", groupId, userId);
    }
}

在控制器中称为集线器方法 .

private readonly IHubContext isignalRhub;

public SignalRModel(IHubContext<SignalRCommonHub> signalRhub)
    {
        this.isignalRhub = signalRhub;
    }

    public void RefreshPage(int groupId, int userId)
    {
        this.isignalRhub.Clients.Group(groupId.ToString()).InvokeAsync("refresh", groupId, userId);
    }

客户端在客户端调用方法时不触发 .

使用signalR样本可用的基于组(用户组)的用户在线状态更新意味着在此处链接 . 建议如何实现用户在线状态 .

谢谢,

1 回答

  • 1

    从前端界面,您需要设置集线器/连接,然后使用connectionId和组ID /名称调用添加/删除组 .

    例如: await _viewerHubContext.Groups.AddAsync(connectionId, groupName);

    然后,当您广播呼叫时,您只需使用组ID /名称,signalR将发送给这些组 .

    例如: return Clients.Group(groupName).InvokeAsync("Send", "SendData", data);

相关问题