我可以知道下面的代码行是怎么回事:-
为什么我不能在上面使用单例?
services.AddSingleton<IProductRepository, ProductRepository>();
我在上面的代码中收到500个内部服务器错误,但是与
Transient
和Scoped
正常工作。 最佳答案
我根据提供的模式假设存储库依赖于DbContext
?
public class ProductRepository : IProductRepository {
public ProductRepository (MyDbContext db) {
//...
}
}
倾向于注册为范围。
如果您尝试注册具有作用域依赖性的单例,则在处理后续请求时可能导致服务的状态不正确。
参考Dependency injection in ASP.NET Core : Service Lifetimes
关于c# - 依赖注入(inject)ASP.NET Core Singleton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53931523/