Можно ли зарегистрировать сервис во время выполнения, то есть после того, как ContainerBuilder
он был построен и Container
был создан (и удален ContainerBuilder
)?
ioc-container
autofac
Пол Кнопф
источник
источник
Ответы:
Да, вы можете, используя
Update
методContainerBuilder
:источник
Поскольку ContainerBuilder.Update устарел, новая рекомендация заключается в использовании дочерней области времени существования.
Добавление регистраций в жизненную область
Autofac позволяет добавлять регистрации «на лету» по мере создания пожизненных областей. Это может помочь вам, когда вам нужно выполнить своего рода переопределение ограниченной регистрации «точечной сваркой» или если вам обычно просто нужны некоторые дополнительные вещи в области, которую вы не хотите регистрировать глобально. Вы делаете это, передавая лямбду в BeginLifetimeScope (), которая принимает ContainerBuilder и добавляет регистрации.
Работа с пожизненными областями действия
источник