SignalR核心:静态控制器方法中的集线器上下文

时间:2019-07-29 05:50:42

标签: c# asp.net-core-signalr signalr-2

我有一个静态方法,试图将数据发送到连接到特定SignalR Core集线器的所有客户端。但是,由于此方法是静态的,因此我能够获得集线器的上下文,该集线器的上下文需要对象引用。

在常规SignalR中,我可以使用var context = GlobalHost.ConnectionManager.GetHubContext<mainHub>();然后将其称为context.Clients.All .... 但是,SignalR Core中不存在。

public class utils : Controller
    {
        private readonly IHubContext<mainHub> _hubContext;

        public utils(IHubContext<mainHub> hubContext)
        {
            _hubContext = hubContext;
        }

        public static void addManagementLog(sstructs.ManageLog mngLog)
        {
            _hubContext.Clients.All.SendAsync("newManageLog", mngLog);
        }
  
    

非静态字段,方法或属性utils._hubContext需要对象引用

  

在静态方法中使用此中心上下文的最佳方法是什么?

谢谢!

0 个答案:

没有答案