IoC容器之间的差异

我正在寻找一些关于如何为ASP.NET MVC应用程序选择IoC容器的指导。

(例如)StructureMap,Ninject,Castle Windsor,Unity,autofac等等之间有什么区别? 任何人都可以提供一些提示或链接到可能有助于选择一个图书馆的资源吗?

更新 :有一个问题(企业库Unity与其他IoC容器)讨论了IoC容器初始化的差异。

但是功能上有什么不同,这会使一些IoC容器成为ASP.NET MVC应用程序的更好选择吗?


这里有一篇有用的博客文章,比较.Net中可用的各种IOC框架之间的特性,但我不知道MVC有什么优于其他容器的。

马克斯


不同IoC容器之间的不同之处在于开箱即用支持的生命周期或实例化模式(何时创建组件的新实例):

  • StructureMap
  • 瞬时(称为per-request),单例,线程本地,per-HttpContext,per-HttpSession,混合
  • Ninject
  • 瞬态,单例,每线程,每个HttpRequest
  • 温莎城堡
  • 单线程,瞬态,每线程,共用,每个HttpRequest(通过设施提供的附加功能)
  • autofac
  • 瞬态(工厂),单身,每个HttpRequest
  • 统一
  • 瞬态,单例,每线程

  • 我个人决定使用Autofac。 看起来非常好的一件事是确定性的资源处置。

    这和它有ASP.Net整合,以及当我检查出来。 我应该看看其他框架,但是我没有遇到过问题。 当存在无法解析的组件时,它给出的错误消息非常好。

    你最好的选择是尝试与他们每个人的项目。 我已经成为一名真正的粉丝,尽可能地在代码中进行配置,并使用XML配置作为备份。 因此,请制作自己的优先列表并尝试一下。

    链接地址: http://www.djcxy.com/p/82139.html

    上一篇: differences between IoC containers

    下一篇: What other IoC containers have an IInitializable like feature?