信号 R 通知客户端

Signal R notify client

我是 Signal R Core 的新手。我想知道如何通知客户我的系统中发生的事件的最佳实践。我有一个真正的任务正在执行

我订阅了事件 call_begin 和 call_end 当我的事件处理程序处理这些事件时,我想通过信号 r 通知他们的客户。到目前为止,我已经通过此代码完成了此操作。

 private void  CallStartedEventHandler(CallData callData) 
    {
        _callNotifierHub.NotifyAboutCallStartedOrEnded("call_started", callData.CallID);
    }

    private void  CallEndedEventHandler(CallMetadata callMetadata) 
    {
         _callNotifierHub.NotifyAboutCallStartedOrEnded("call_ended", callData.CallID);
    }

这是我的中心代码

 public class CallNotifierHub : Hub, ICallNotifierHub
{
    public async Task NotifyAboutCallStartedOrEnded(string message, long callId)
    {
        await Clients.All.SendAsync("NotifyAboutCallEvent", message, callId);
    }
}

我很感兴趣,可以吗?有什么建议吗?这样行吗???

如果您想从集线器外部向客户端发送 message/notification,可以使用 SignalR IHubContext 来实现。更多信息,您可以参考以下文章。

https://docs.microsoft.com/en-us/aspnet/core/signalr/hubcontext?view=aspnetcore-3.1