我正在寻找一些有关如何为 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/