单个应用程序消耗多个IoC注册表并存在冲突
我有一个应用程序通过两个单独的UnitOfWork
类与单独的数据库进行通信。 我正在使用StructureMap
来构建我的类。 单独地,每个构建和运行正确。
但是,一旦我在“ Web应用程序 ”中使用两个容器注册表,我就会遇到冲突。 两个注册管理机构都从它们的通用框架引用相同的DbContext
(基础)类。 但是,每个注册表都有自己的具体DbContext
类(inheritance自DbContext
)。
问题是…
- 我消耗两个注册表的那一刻,最后是“胜利”……并且应用了错误的CONCRETE
Dbcontext
类(进入第一个注册表)。 -
DbContext
多个实例应用于Repository引用。
问:如何确保在我的注册表中应用正确的CONCRETE DbContext?
问:如何确保在我的注册表中单独安装DbContext?
我尝试了各种方法但没有成功……感谢您的帮助。
例如…
REGISTERY’ONE’包含:
For().Use(); For().Use(); For(typeof(ICompositeRepository)).Use(typeof(DbRepository)).Ctor().Is(); For(typeof(IRepository)).Use(typeof(DbRepository)).Ctor().Is();
注册’两个’包含:
For().Use(); For().Use(); For(typeof(ICompositeRepository)).Use(typeof(DbRepository)).Ctor().Is(); For(typeof(IRepository)).Use(typeof(DbRepository)).Ctor().Is();