1

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

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

4

1 回答 1

3

ChatMessageRepository在 DI 容器中注册您的:

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

然后在ctor中注入您的集线器:

public ChatHub : Hub
{
    private readonly ChatMessageRepository _repository;
    public ChatHub(ChatMessageRepository repository)
    {
        _repository = repository;
    }
    ...
}
于 2017-09-25T17:18:51.180 回答