我正在寻找一种从项目中的另一个类调用方法的方法,然后该方法将向连接到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()
从该项目中的其他类调用此方法的方式是什么?