.net - IoC容器之间的差异

标签 .net ioc-container

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

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

更新:有一个问题 ( Enterprise Library Unity vs Other IoC Containers ) 讨论了 IoC 容器初始化的差异。

但是功能上是否存在任何差异,这会使某些 IoC 容器成为 ASP.NET MVC 应用程序的更好选择?

最佳答案

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

  • 结构图
    • transient (称为每个请求)、单例、线程本地、每个 HttpContext、每个 HttpSession、混合
  • 忍者
    • transient 、单例、每线程、每 HttpRequest
  • 温莎城堡
    • 单例、 transient 、每线程、池化、每 HttpRequest(通过设施提供其他功能)
  • autofac
    • transient (工厂)、单例、每个 HttpRequest
  • 团结
    • transient 、单例、每线程

关于.net - IoC容器之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639824/

相关文章:

c# - 从 c# 调试 c++ cli - 未命中 c++ 断点

c# - 监控任务

c# - 生成动态流程图

c# - 如何使用简单注入(inject)器模拟模块/安装程序/注册表

unity-container - UnityContainer : Conditional Logic upon resolving

NHibernate 和 IoC IInterceptor

c# - 是否可以使用派生类型强制覆盖未标记为虚拟或抽象的成员?

Laravel 自定义 Facade 新实例

php - 注入(inject)绑定(bind)到服务容器的实例

.net - 卸载 VS.NET 2010 Beta 会破坏 .NET?