在 signalr-core hub 中带有参数的构造函数

constructor with parameters in a signalr-core hub

我想在我的集线器中注入一些东西。

基本上我正在尝试相当于本教程 https://docs.microsoft.com/en-us/aspnet/signalr/overview/advanced/dependency-injection,但针对 SignalR-Core。 我最感兴趣的部分是

public void Configuration(IAppBuilder app)
{
    GlobalHost.DependencyResolver.Register(
        typeof(ChatHub), 
        () => new ChatHub(new ChatMessageRepository()));

    App.MapSignalR();

    // ...
}

我该如何做这个 Net Core 和 SignalR-Core?

在 DI 容器中注册您的 ChatMessageRepository

services.AddTransient(typeof(ChatMessageRepository), typeof(ChatMessageRepository));

然后在 ctor 中注入你的 hub:

public ChatHub : Hub
{
    private readonly ChatMessageRepository _repository;
    public ChatHub(ChatMessageRepository repository)
    {
        _repository = repository;
    }
    ...
}