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