如何在多项目的 MVC 应用程序中使用 Ninject?

3
我的应用程序这样设置:
Web 数据 服务 POCO实体
控制器使用服务(所以它们应该被注入) 服务使用存储库(我假设也应该被注入)
我已经设置好了,以便控制器通过Ninject接收他们需要的服务,但我不确定如何在服务=>存储库中完成此操作。
有人能帮忙吗?
3个回答


1
你可以使用ninject.web.mvc扩展。它包含一个示例应用程序,演示了如何在Global.asax中注册容器。

-1

只需设置您的服务依赖项以及控制器的依赖项。Ninject将遍历依赖链并解决所有依赖项。

例如, ProductController 依赖于 IProductService IProductService 使用 ProductService 实现,它依赖于 IProductRepository IProductRepository 使用 NHibernateProductRepository 实现,它依赖于 ISession

当您的 NinjectControllerFactory 尝试解析 ProductController 时,它看到了对 IProductService 的依赖关系。它将该依赖项解析为 ProductService,并查看它是否依赖于 IProductRepository。然后它将继续沿着链路向下解析,直到完全解决参数。

因此,重要的是绑定任何依赖项,而不仅仅是控制器中的依赖项。


我理解...我在另一个问题中进一步解释了我的问题...问题是我的Web应用程序没有引用Data项目。http://stackoverflow.com/questions/4939100/help-with-ninject-in-mvc3 - nacho10f

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接