В ASP. NET Core 3.x, использование контейнеров Io C, таких как Autofa c, изменилось. Вместо того, чтобы возвращать какой-либо экземпляр адаптера в ConfigureServices
, мы должны использовать новый метод ConfigureContainer
.
Мой вопрос: как я могу получить доступ к экземпляру Autofa c IContainer в методе Configure
? Я пытался вызвать containerBuilder.Build
в пределах ConfigureContainer
, чтобы получить ссылку на экземпляр контейнера, но затем я получаю исключение, что контейнер может быть собран только один раз.
Я хорошо знаю, что в обычных случаях использования , не нужно проходить вокруг контейнера (шаблон службы локатора и т. д. c .....). Однако в этом особом случае мы используем промежуточное программное обеспечение, которое разрешает типы обработчиков команд и событий, и оно основано на Autofa c. Ему нужен экземпляр контейнера.
Есть ли шанс сослаться на экземпляр IContainer
после того, как он был построен фреймворком?