Я пытаюсь вызвать метод в классе-концентраторе signalr из контроллера (ASP.NET Core) MVC, но не могу найти в Интернете пример, показывающий, как это сделать.
Примечание.Есть много примеров использования старых версий сигнализатора с .Net Framework, но ни один из них, который я вижу, не показывает, как это сделать в .Net Core.
Мне нужно передать идентификатор изРезультат действия MVC напрямую через мой концентратор, не передавая идентификатор на страницу, а затем возвращая клиентское соединение через концентратор.
public class ChatHub : Hub
{
public async Task DoSomething(int id)
{
//// Something in here.
}
}
public class HomeController : Controller
{
private readonly IHubContext<ChatHub> _hubContext;
public HomeController(IHubContext<ChatHub> hubContext)
{
_hubContext = hubContext;
}
public async Task<ActionResult> Index(int id)
{
//// Call the DoSomething method from here, passing the id across.
await _hubContext.Clients.All.SendAsync("AddToGroup", groupId);
}
}
Есть ли способ сделать это, пожалуйста?(Или я смотрю на это неправильно, и есть ли лучший способ достичь того же результата?)
Обновление: Если я передам Id в представление, а затем используюJavaScript для вызова Hub, затем вызывается метод DoSomething, так что я вижу, что все правильно висит, но не при попытке вызвать его в C #.