单个应用程序消耗多个IoC注册表并存在冲突

我有一个应用程序通过两个单独的UnitOfWork类与单独的数据库进行通信。 我正在使用StructureMap来构建我的类。 单独地,每个构建和运行正确。

但是,一旦我在“ Web应用程序 ”中使用两个容器注册表,我就会遇到冲突。 两个注册管理机构都从它们的通用框架引用相同的DbContext (基础)类。 但是,每个注册表都有自己的具体DbContext类(inheritance自DbContext )。

问题是…

  1. 我消耗两个注册表的那一刻,最后是“胜利”……并且应用了错误的CONCRETE Dbcontext类(进入第一个注册表)。
  2. 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();