【发布时间】:2010-12-14 00:01:46
【问题描述】:
我在弄清楚如何在我的 n 层 ASP .net MVC 应用程序中配置 Unity IoC 容器时遇到了一点问题。
我的解决方案中有 3 个项目: 1. MVC(用作视图):仅引用业务逻辑层 2.业务逻辑层:仅参考Repository项目 3. Respository:不参考上述任何项目
请注意我的参考工作方式,我是这样做的,所以我将能够使用 WCF 替换我的层之间的通信,并且难度较小。
我在我的 MVC 应用程序中配置了一个 Unity 容器,执行如下操作 (Global.asax):
container.RegisterType(); //MyService 在我的业务逻辑层中
MyService 类在其构造函数中使用我的存储库,这意味着当创建其中一个 MyService 类时,还需要一个 MyRepository:
public MyService(IRepository 存储库) : base(repository) { }
如您所见,我还没有在容器中配置 IRepository。
我不想在我的 Global.asax 中这样做,因为我不想将存储库的任何引用添加到 MVC(视图)层。
哪里是配置它的最佳位置?我在这里有点困惑....
提前致谢。
【问题讨论】: