我正在尝试从SignalR集线器中获取集线器上下文。
我希望能够将通知发送到连接到该集线器的客户端,同时可以丢弃该集线器实例。
注意事项是我动态注册了集线器,所以我将集线器类型作为Type对象。
以这种方式注册:
var HubContext = ServiceProvider.GetService(H);
以 H 为中心类型。
我尝试过:
Application.Use(async (Context, Next) =>
{
var HubContext = Context.RequestServices.GetRequiredService(H);
});
它返回null。
我已经尝试过:
{{1}}
不调用lambda表达式。
我已阅读:https://docs.microsoft.com/en-us/aspnet/core/signalr/hubcontext?view=aspnetcore-2.2
这是提出上述方法的一个。
我也找到了以下解决方案:Get Hub Context in SignalR Core from within another object
这是行不通的,因为我需要在编译时知道这些集线器,而我却没有用,因为它们以插件的形式出现在外部程序集中,并且通过反射找到并注册了。
所有在线帖子和解决方案都围绕上述两种方法,在这种情况下不起作用。
那我如何获得中心上下文?