获取SignalR集线器的HubContext

时间:2019-04-23 10:46:51

标签: c# asp.net-core signalr

我正在尝试从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

这是行不通的,因为我需要在编译时知道这些集线器,而我却没有用,因为它们以插件的形式出现在外部程序集中,并且通过反射找到并注册了。

所有在线帖子和解决方案都围绕上述两种方法,在这种情况下不起作用。

那我如何获得中心上下文?

0 个答案:

没有答案