我会尝试以简单的方式解释. 我有一个包含4个项目的解决方案(c#4.0) 框架 DAL 域名 WebApplication 所以我的问题是: Framework是配置Unity IoC的正确位置吗?我想通过代码而不是xml来配置,所以
我有一个包含4个项目的解决方案(c#4.0)
>框架
> DAL
>域名
> WebApplication
所以我的问题是:
Framework是配置Unity IoC的正确位置吗?我想通过代码而不是xml来配置,所以Framework需要知道DAL的引用,但是DAL已经知道了Framework.
我的所有项目都会知道Framework,那么我在哪里配置IoC?
应在Composition Root中配置应用程序,尽可能靠近入口点.在您的情况下,那将是WebApplication.这是唯一应该引用Unity的项目.其他任何项目都不应该提到Unity.在组合根目录中,您应该遵循Register Resolve Release模式.
另见this answer – 它谈论Ninject而不是Unity,但概念(因此答案)是相同的.