除了 SignalR 之外的其他选项通过 .Net Core 将信息推送到特定客户端?

Options Other than SignalR to push info to a specific Client via .Net Core?

场景: 我正在等待 webhook 命中我在 .Net Core 中的控制器端点,从而确认客户向第三方付款。理想情况下,我希望此控制器触发一条我专门发送给付款客户的消息。

问题: 根据我正在阅读的内容,除非我打算发送给所有客户端,否则我无法从我的控制器调用集线器方法 (SignalR)。当我的集线器通过唯一 ID 的字典跟踪用户时,我假设按照 所述注入集线器上下文将创建集线器的新实例,而无需访问集线器中的现有 ID,即 [=19] =].在收到对我的控制器的 webhook 确认后,是否有任何其他选项可以将消息推送到特定客户端?

看起来我的解决方案是通过集线器创建支付(而不是正常的休息 API)并为客户端传递 connectionId(集线器有 userId 和 connectionId 的字典)作为第三方 webhook 传回的信息。这样,当我收到 webhook 调用时,我也可以在像这样调用集线器服务时获取要引用的 connectionId:

await _hubContext.Clients.Client(connectionID).SendAsync("CompletePayment", transactionId);