В тестовом проекте я обнаружил разрыв в производительности, когда использую последнюю версию Autofac. У меня есть класс BaseTest, который является базовым классом для всех тестов. В ctor создайте объект Autofac ContainerBuilder, зарегистрируйте все типы и т. Д.Копирование (клонирование) регистрации autofac
Затем - создайте контейнер и используйте его для локатора сервисов.
Проблема в том, - я не мог сделать контейнер статического и инициализировать его только один (а не раз в каждом тесте), чтобы сэкономить массу времени на сканирование сборок для регистрирующих типов и т.д.
Моя цель - создать статический ContainerBuilder (или Container) - где в статическом ctor BaseTest я зарегистрирую все типы, а затем в обычном ctor будет копировать этот экземпляр (со всей регистрацией) в нестационарное свойство и использовать его для ServiceLocator.
Зачем мне это нужно - потому что, например, TestA меняет/добавляет замену, или поэтому TestB ничего не знает об этой подстановке. Поэтому мне нужно очистить всю настройку регистрации после каждого тестового набора.
У вас есть идеи о том, как это сделать? Я ищу много информации в autofac - поскольку я понимаю, что невозможно скопировать или клонировать контейнер. Кроме того, я не мог сделать ContainerBuilder статическим и в обычном ctor вызовом Build() или Update, потому что он не разрешен.
Заранее спасибо.