我在一个解决方案中有 4 个项目
- DAL_项目
- BLL_项目
- 接口_项目
- WebApi_Project
Interface_Project有两个接口ICar_DAL和ICar_BLL
DAL_Project有一个实现ICar_DAL的类Car_DAL
BLL_Project有一个实现ICar_BLL的Car_BLL类,它的构造函数接受ICar_DAL
WebApi_Project有一个 api 控制器CarApiController并且它的构造函数接受ICar_BLL
WebApi Controller 的构造函数的依赖解析是由 Unity.WebApi 在 Bootstrapper.cs 中使用的:
container.RegisterType<ICar_BLL, Car_BLL>();
如果我的 Car_BLL 在其构造函数中进一步不需要 ICar_DAL,这将起作用。
为了让它工作,我可以做这样的事情:
container.RegisterType<ICar_BLL, Car_BLL>();
container.RegisterType<ICar_DAL, Car_DAL>();
但这意味着我需要在我的WebApi_Project中添加对DAL_Project的引用,这是我永远不想做的事情。DAL_Project只能由BLL_Project 引用
我该如何解决这个问题?