我可以知道下面的代码行是怎么回事:-

为什么我不能在上面使用单例?

services.AddSingleton<IProductRepository, ProductRepository>();


我在上面的代码中收到500个内部服务器错误,但是与TransientScoped正常工作。

最佳答案

我根据提供的模式假设存储库依赖于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/

10-12 05:05