2

我正在寻找一种从项目中的另一个类调用方法的方法,然后该方法将向连接到mainHub

我有一个静态方法,我试图将数据发送到连接到集线器mainHub的所有客户端。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 需要对象引用

在静态方法中使用此集线器上下文的最佳方式是什么,或者我可以addManagementLog()从该项目中的其他类调用此方法的方式是什么?

4

0 回答 0