Итак, скажем, у меня есть экземпляр класса singleton, который я регистрирую в DI следующим образом:
services.AddSingleton<IFoo, Foo>();
И пусть говорят, что класс Foo
имеет ряд других зависимостей (в основном классы репозитория, которые позволяют ему загружать данные).
С моим нынешним пониманием экземпляр Foo не создается до тех пор, пока он не будет использован (задан). Есть ли способ инициализировать этот класс, отличный от конструктора? Как сразу после завершения ConfigureServices()
? Или должен ли код инициализации (загрузка данных из db) выполняться в Foo-конструкторе?
(Было бы неплохо, если бы этот класс мог загружать свои данные до первого использования, чтобы ускорить первый доступ)