在.net core 2.2中使用SignalR获取中心上下文的方法

时间:2019-04-25 09:29:50

标签: c# asp.net-core signalr

现在,我以这种方式获取集线器上下文:

public class MyHub : Hub
{
    public static HubLifetimeManager<MyHub> HubManager { get; private set; }
    public MyHub(HubLifetimeManager<MyHub> hubManager)
    {
        HubManager = hubManager;
    }
}

并将集线器注册为单例;这会使用HubLifetimeManager调用构造函数,一切都很好。

集线器是作为插件动态添加的,因此可以通过反射找到它们,注册它们的路由,并将它们也自动添加到单例列表中。 他们将需要从抽象整个集线器管理器逻辑并提供更多功能的类中派生。

所以,理想情况下,我想要类似的东西:

public class BaseHubClass : Hub
{
    public static HubLifetimeManager<MyHub> HubManager { get; private set; }
    public BaseHubClass(HubLifetimeManager<MyHub> hubManager)
    {
        HubManager = hubManager;
    }
}

以及插件中的所有集线器都像这样:

public class MyNewHub : BaseHubClass
{
    ...
}

,并向用户隐藏其他所有内容。 因为MyNewHub需要一个将集线器管理器作为单例方法工作参数的构造函数,所以我正在寻找另一种解决方案,使我能够获得集线器管理器。

0 个答案:

没有答案