我想将我当前的ioc容器 - Spring.net更改为另一个容器。随着时间的推移,我的带有spring对象定义的web.config已经大大扩展了,我认为现在是时候用更开发人员更友好和更有效的东西(Ninject,StructureMap等)替换它。你能建议我选择最好的解决方案吗? 我的应用程序是基于asp.net的web表单(目前是.NET 3.5,但在不久的将来我想将它迁移到.NET 4.0),目前我只使用Spring进行基本的构造函数和属性注入,例如:
<object id="SampleObjectA" type="MyProject.Web.SampleAobjectA, MyProject.Web">
<constructor-arg index="0" value="SomeValue" />
</object>
<object type="Default.aspx">
<property name="SampleObjectA" ref="SampleObjectA" />
</object>
答案 0 :(得分:2)
StructureMap很好,但Castle Windsor是我个人最喜欢的 - 它有一个很棒的功能集,可以很好地处理IoC。
答案 1 :(得分:1)
以下是不同IoC容器的比较。
http://blog.ashmind.com/2008/08/19/comparing-net-di-ioc-frameworks-part-1/
如果要注册很多依赖项,您可能需要查看在StructureMap和Ninject中提供的配置支持约定。
以下是如何在Ninject中使用约定的示例。 StructureMap也支持这一点。
http://blog.decayingcode.com/post/simplifying-ninject-bindings-with-ninjectextensionsconventions