【发布时间】:2016-08-17 20:37:18
【问题描述】:
假设我有一个像这样在 DI 中注册的单例类实例:
services.AddSingleton<IFoo, Foo>();
假设Foo 类有许多其他依赖项(主要是允许它加载数据的存储库类)。
根据我目前的理解,Foo 实例在第一次使用(询问)之前不会创建。除了构造函数之外,还有其他方法可以初始化这个类吗?就像在ConfigureServices() 完成之后一样?还是应该在 Foo 的构造函数中完成初始化代码(从 db 加载数据)?
(如果这个类可以在第一次使用之前加载它的数据以加速第一次访问,那就太好了)
【问题讨论】:
-
您可以创建
new Foo()并在ConfigureServices方法中注册。 -
@ademcaglin 那行不通;由于
Foo有依赖关系,它不会有默认构造函数。
标签: c# asp.net-core dependency-injection singleton