如何从Controller调用SignalR Core Hub方法?
我将ASP.NET Core 2.0与Microsoft.AspNetCore.SignalR(1.0.0-alpha2-final)一起使用。
我有与Excel,SolidEdge和Excel通信的Windows服务...完成操作后,它将请求发布到ASP.NET Core应用程序中的控制器。现在,我需要通知所有与SignalR连接到服务器的客户端,外部程序已完成某些任务。
我无法更改窗口服务的工作方式。(无法从窗口服务连接到SignalR)。
我找到了许多适用于旧SignalR(GlobalHost.ConnectionManager.GetHubContext)的解决方案,但发生了很大变化,这些解决方案不再起作用。
我的控制器:
[Route("API/vardesigncomm")]
public class VarDesignCommController : Controller
{
[HttpPut("ProcessVarDesignCommResponse/{id}")]
public async Task<IActionResult> ProcessVarDesignCommResponse(int id)
{
//call method TaskCompleted in Hub !!!! How?
return new JsonResult(true);
}
}
我的中心:
public class VarDesignHub : Hub
{
public async Task TaskCompleted(int id)
{
await Clients.All.InvokeAsync("Completed", id);
}
}
米琪卡哇伊