У меня есть сайт ASP.NET Core, где я реализовал концентратор, называемый NotificationHub:
public interface INotificationHub
{
Task SendNotificationMessage(NotificationMessage message);
}
public class NotificationHub : Hub<INotificationHub>
{
public async Task SendMessage(NotificationMessage message)
{
await Clients.All.SendNotificationMessage(message);
}
}
У меня есть два клиента winforms, которые могут успешно подключаться к концентратору и отправлять / получать сообщения.У меня также есть страница на моем веб-сайте, которая может отправлять сообщения через HubContext, который внедряется в мой контроллер.
await _hubContext.Clients.All.SendNotificationMessage(new NotificationMessage { "some message" });
В идеале, я хотел бы отправить сообщение определенному клиенту, а не всемклиенты.Я знаю, что когда клиент соединяется, у меня есть Context.ConnectionId, доступный в методе OnConnectedAsync, но я не уверен, как сопоставить это, таким образом я могу направить определенные сообщения только определенным клиентам от Контроллера (или javascript).т.е. на моем веб-сайте происходит определенное действие, я хочу уведомить об этом только одного клиента, а не другого.