gpt4 book ai didi

asp.net-mvc - 依赖注入(inject)存储库生命周期

转载 作者:行者123 更新时间:2023-12-02 02:17:53 26 4
gpt4 key购买 nike

我不确定这里的具体实现是否重要,但为了完整起见,我使用 Autofac 作为新应用程序的依赖项注入(inject)容器。

我所有的存储库都依赖于 DbContext (工作单元),我使用 MVC3 集成库将其配置为 InstancePerHttpRequest()以便每个请求的存储库之间共享工作单元。

我查看了一些使用 Autofac 的应用程序,我注意到它们将存储库的生命周期设置为 SingleInstance() (单例)。这是正确的吗?

我问的原因是我可以理解我们并不真正需要多个存储库类,但是如果我们正在创建存储库的单个实例,那么这肯定意味着只有一个对 DbContext 的引用。 .在我的存储库实现中,它访问 DbContext作为类(class)成员_dbContext.Set<T>废话....

所以 _dbContext必须引用内存中的某个对象。两个单独的请求怎么可能同时出现,有一个独特的 DbContext但共享同一个存储库?

我是否错过了与 DI 工作方式有关的事情?

最佳答案

您没有错过任何东西 - SingleInstance() 几乎肯定是您场景中存储库的错误选择。

关于asp.net-mvc - 依赖注入(inject)存储库生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9636078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com