Ситуация в следующем. В StartUp классе, для изоляции слоев приложения регистрирую модули. Но пришлось добавить класс, принимающий строковый параметр. Собственно, после регистрации всех модулей я регистрирую этот класс с необходимым параметром. Приложение работает и все хорошо, но как на это отреагировал autofac? Когда он регистрировал модули он зарегистрировал мой класс с пустым параметром, а потом я его инициализировал повторно? Или он пропустил проблемный класс?
Допустим есть класс SomeClass : ISomeClass, конструктор которого принимает некоторый аргумент string arg, SomeClass регистрируется из модуля MyAwesomeModule(); во всяком случае логика этого модуля ищет все сборки в проекте и затем их регистрирует.
...
var builder = new ContainerBuilder();
// как он зарегистрировал тип с конструктором, который принимает строковый параметр я не понял, но ошибки тут не было. Резолвить нужный мне сервис не пробовал.
builder.RegisterModule<MyAwesomeModule>();
// Затем, я отдельно регистрирую свой тип с параметром
builder.RegisterType<SomeClass>()
.As<ISomeClass>()
.WithParameter("argument", "item");
...
После этого если я резолвлю этот сервис то конструктор отрабатывает правильно и значение переменной хранится в приватном поле класса.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости