Ninject - Asp.net Mvc:解决方案中的多个项目

问题描述:

我在Asp.net Mvc应用程序中尝试Ninject,并且想知道如果您的解决方案中有多个项目,使用Ninject的最佳做法是什么。Ninject - Asp.net Mvc:解决方案中的多个项目

我想所有的项目都需要某种在global.asax中初始化的Loader?

亲切的问候,

Pickels

一般来说,你应该只引进IoC容器(在这种情况下Ninject)在实际的可执行文件(或ASP.NET应用程序)。对于使用哪个容器,可重用的库应该是不可知的。

要专门在ASP.NET MVC应用程序中使用Ninject,您应该使用Ninject.Web.Mvc扩展中的Ninject控制器工厂。

+0

我已经在使用Ninject.Web.Mvc,不过感谢那个提示。 – Pickels 2010-04-26 12:08:38

+1

您是否有一些信息或模式显示我如何让每个图书馆拥有自己的IoC容器?我开始使用的示例代码使用域库中的内核来加载Web项目中的Ninject模块。 – Pickels 2010-04-26 12:22:28

+1

@Pickels:每个库*都没有自己的IoC容器。这是我的观点 - 你只是在最后阶段才开始使用IoC容器。 – Aaronaught 2010-04-26 12:23:18

通常您的IoC容器在您的入口点项目(您的案例中的Web项目)中初始化和配置。是的,这通常会发生在(直接或间接)global.asax。尽管在大多数情况下,您不应该在任何其他项目中困扰配置。