【发布时间】:2021-12-22 08:29:48
【问题描述】:
场景如下:
我有多个与服务器建立 SignalR 连接的 WPF 客户端。一个 WPF 客户端调用 REST API 来生成订单。服务器希望通知所有 WPF 客户端已下订单,但创建订单的 WPF 客户端除外。
请注意,我的通知逻辑放在中心类之外。
解决这个问题的最佳方法是什么?
【问题讨论】:
场景如下:
我有多个与服务器建立 SignalR 连接的 WPF 客户端。一个 WPF 客户端调用 REST API 来生成订单。服务器希望通知所有 WPF 客户端已下订单,但创建订单的 WPF 客户端除外。
请注意,我的通知逻辑放在中心类之外。
解决这个问题的最佳方法是什么?
【问题讨论】:
有一个内置的Hub.Clients.Others 可以满足您的要求。
这是一个示例:
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.Others.SendAsync("ReceiveMessage", user, message);
}
}
参考:
https://docs.microsoft.com/en-us/aspnet/core/signalr/hubs?view=aspnetcore-3.1#the-clients-object
【讨论】: