用另一个IoC容器替换Spring.NET
本文关键字:替换 Spring NET 另一个 IoC | 更新日期: 2023-09-27 18:26:25
可能重复:
主要的C#DI/IoC框架如何比较?
我想把我当前的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>
StructureMap很好,但Castle Windsor是我个人的最爱——它有一个很棒的功能集,处理IoC也很好。
以下是不同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