我有三个项目:WebAPI,服务和存储库。
WebAPI
引用了Services
,Services
引用了Repository
。
现在我需要添加一个用于Services
和Repositories
的 Unity 容器,但WebAPI
它不允许添加对Repository
的引用,WebAPI
仅针对Services
提供引用。
我知道如何为Services
配置unity
,但也知道如何为Repository
我怎样才能改变它以获得所需的设计?
我的建议是简单地添加另一个项目 - 将其命名为"基础设施"。然后,此项目可以全权负责向 IoC 注册内容 - 因此此项目需要引用包含需要注册的任何内容的每个项目,并且可以由 WebAPI 项目调用。
这样,WebApi项目就不需要直接知道存储库中的任何内容;它只知道如何获取一个IoC容器,然后可以被所有东西使用。