Как зарегистрировать строго типизированные центры SignalR Core? - PullRequest
0 голосов
/ 29 марта 2020

У меня есть ASP. Net Core 3.1 веб-приложение, и я пытаюсь внедрить строго типизированные концентраторы в контроллер следующим образом:

public class MyController : ControllerBase
{
    private readonly IHubContext<MyHub, IMyHub> hubContext;

    public MyController(IHubContext<MyHub, IMyHub> hubContext)
    {
        this.hubContext = hubContext;
    }    
}

Autofa c уже установлен вверх, но я до сих пор не нашел способ ввести концентраторы. (Версии или класс SignalR имели RegisterHubs метод расширения.

Я пробовал следующее:

        builder.RegisterAssemblyTypes()
            .Where(t => typeof(IHubContext<>).IsAssignableFrom(t))
            .ExternallyOwned();

и это:

       builder.RegisterAssemblyTypes()
            .Where(t => t.Name.EndsWith("Hub"))
            .As(typeof(Hub<>))
            .ExternallyOwned();

Но это не так работа.

Какой новый способ сделать это?

1 Ответ

0 голосов
/ 30 марта 2020

Попробуйте использовать AsClosedTypesOf(Hub<>) вместо As(Hub<>). См. Документы здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...