代码之家  ›  专栏  ›  技术社区  ›  Bret Walker

如何在ASP.NET MVC模型中使用依赖项注入?

  •  2
  • Bret Walker  · 技术社区  · 16 年前

    我想向ASP.NET MVC模型中注入依赖项,但我不知道在管道中的何处进行注入。

    7 回复  |  直到 16 年前
        1
  •  0
  •   JRoppert    16 年前

    你可以在Shiju Vargheses博客上找到一个合理的方法: ASP.NET MVC Tip: Dependency Injection with Unity Application Block

        2
  •  0
  •   Omu    16 年前

    通常我会像这样在控制器中注入依赖项

    PersonController(IPersonRepository r)
    {
    \\ constrtuctor code
    }
    

    在模型中,当需要继承某个接口的某个实例时,您可以执行以下操作:

    var r = container.Resolve<IPersonRepository>();
    
        3
  •  0
  •   Bret Walker    16 年前
        4
  •  0
  •   Will Shaver    16 年前

    我建议您回顾一下S#arp体系结构 http://www.sharparchitecture.net/

    asp.net mvc的开源框架插件。

        5
  •  0
  •   Lance Harper    16 年前

    您是否完全确定需要将依赖项注入域模型本身?实体或业务对象通常会封装状态,并根据业务规则公开修改该状态的方法。不属于此类别的代码通常会在服务中找到。你读过a的概念吗 domain service 完全也许使用一个更适合您的需要,并且您不需要向域本身注入任何依赖项。

        6
  •  0
  •   Andriy Volkov    16 年前

    结账 this sample 我是根据Ayende在他的博客上的解释创建的。基本上,我使用Castle作为IoC容器,使用Mvc Contrib将所有控制器添加到容器中,并使Mvc从中获取控制器。然后我可以将任何东西注入容器中,例如NHibernate ISession。

    Dependency Injection of Hibernate-managed objects . 看见 this , this this

        7
  •  0
  •   flukus    16 年前

    你谈论的更多的是主动记录模式。

    AR是否可能取决于您使用的ORM/DAO。