4

我将尝试以简单的方式进行解释。

我有一个包含 4 个项目的解决方案 (c# 4.0)

  • 框架
  • 达尔
  • 领域
  • Web应用程序

所以我的问题是:

框架是配置我的 Unity IoC 的正确位置吗?我想通过代码而不是 xml 进行配置,所以框架需要知道 DAL 的引用,但 DAL 已经知道框架。

我所有的项目都知道框架,那么我在哪里配置我的 IoC?

4

1 回答 1

4

应用程序应该在Composition Root中配置,尽可能靠近入口点。在您的情况下,这将是 WebApplication。这是唯一应该引用 Unity 的项目。其他任何项目都不应该有任何对 Unity 的引用。

在组合根中,您应该遵循Register Resolve Release模式。

另请参阅此答案-它谈论的是 Ninject 而不是 Unity,但概念(以及因此的答案)是相同的。

于 2011-04-12T15:15:21.203 回答