信号器核心集线器中带参数的构造函数

时间:2017-09-25 13:18:21

标签: asp.net-core asp.net-core-signalr

我想在我的中心注入一些东西。

基本上我正在尝试相当于本教程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?

1 个答案:

答案 0 :(得分:2)

在DI容器中注册您的ChatMessageRepository

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

然后注入你的集线器:

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