【发布时间】:2011-08-04 08:04:24
【问题描述】:
当我“新建”一个需要依赖项的对象时使用 Unity,即存储库,UnitOfWork 一切都很好,我的新对象注入了依赖项,并且“新建”对象可以控制 UnitOfWork,因为它们也需要存储库UnitOfWork 依赖项也被注入,具有相同的 UnitOfWork(使用 PerResolve 生命周期管理器)。
一切都很好,但是我有一个问题是这个 UnitOfWork 的范围和存储库处于类级别。
如果我希望在方法级别控制 UnitOfWork 的生命周期,我应该如何处理?我应该使用方法注入吗?如果是这样,我的方法是否应该再次获取所有必需的依赖项,即 Repositories 和 UnitOfWork ??
我们将不胜感激。
【问题讨论】:
-
据我所知,Unity 不提供 HttpRequest Scoped Lifetime。因此,您可以管理自己的生命周期,也可以不使用 Unity(几乎所有其他容器、Autofac、Ninject、StructureMap,都支持 Http Request Scoped Lifetimes。
标签: c#-4.0 repository unity-container unit-of-work