【问题标题】:Ninject - Asp.net Mvc: Multiple projects in solutionNinject - Asp.net Mvc:解决方案中的多个项目
【发布时间】:2010-04-26 12:00:37
【问题描述】:

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

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

亲切的问候,

泡菜

【问题讨论】:

    标签: asp.net-mvc dependency-injection ninject


    【解决方案1】:

    一般来说,您应该只在实际可执行文件(或 ASP.NET 应用程序)中引入 IoC 容器(在本例中为 Ninject)。可重用库应该与使用哪个容器无关。

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

    【讨论】:

    • 我已经在使用 Ninject.Web.Mvc 但无论如何感谢您的提示。
    • 您是否有一些信息或模式来说明我如何让每个库都有自己的 IoC 容器?我开始的示例代码使用域库中的内核来加载 Web 项目中的 Ninject 模块。
    • @Pickels:每个库没有有自己的 IoC 容器。这就是我的观点——你只能在最后可能的阶段开始使用 IoC 容器。
    • Exaclty,每个应用程序只需要一个 IoC 容器,无论它由多少个项目组成。这是在您的入口点项目中设置的。
    • 感谢您提供的信息,我非常感谢。打算做一些测试并尝试以这种方式实现它。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2019-11-20
      相关资源
      最近更新 更多