Я не могу отправить уведомление конкретному пользователю с контроллера.
Мой контроллер:
public class SomeController : ControllerBase
{
private readonly IHubContext<NotificationHub> _hubContext;
public SomeController(IHubContext<NotificationHub> hubContext)
{
_hubContext = hubContext;
}
public async Task SomeMethod()
{
//it works
await _hubContext.Clients.All.SendAsync("sendMessage", msg);
//it doesn't work
await _hubContext.Clients.User(userId).SendAsync("sendMessage", msg);
//it also doesn't work
await _hubContext.Clients.Client(userId).SendAsync("sendMessage", msg);
}
}
К сожалению, IHubContext имеет некоторые недостатки.В собственности Клиентов доступны только Клиенты.Все - то есть мы можем отправить сообщение только всем клиентам, и в классе-концентраторе нет таких свойств, как Other или Caller.Кроме того, мы не можем получить идентификатор соединения от IHubContext.
Есть ли какой-то другой способ сделать это?Или это возможно только с SQL-зависимостью?