Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 国际奥委会比较 Pi>在开发ASP.NET Web应用程序时要考虑哪些IOC,不同的IOC?有什么优点? 对象生成器 统一 Spring.NET_C#_.net_Asp.net_Ioc Container_Wcsf - Fatal编程技术网

C# 国际奥委会比较 Pi>在开发ASP.NET Web应用程序时要考虑哪些IOC,不同的IOC?有什么优点? 对象生成器 统一 Spring.NET

C# 国际奥委会比较 Pi>在开发ASP.NET Web应用程序时要考虑哪些IOC,不同的IOC?有什么优点? 对象生成器 统一 Spring.NET,c#,.net,asp.net,ioc-container,wcsf,C#,.net,Asp.net,Ioc Container,Wcsf,我怀疑很多人使用过两到三种以上,而在我对Unity和Ninject的有限经验中,最终的结果并没有太大的差别。它们配置映射的选项略有不同,我确信一些更高级的功能有所不同,但它们可能很少使用。归根结底,IoC容器的核心需求并没有那么复杂——你可以很容易地实现自己的需求 更重要的是,您使用的是IoC模式,您选择的特定品牌可能对生成的应用程序的质量没有显著影响 因为它非常轻量级,所以我推荐NICATION。 < P>它不在你的列表中,但是考虑看 设施的数量,如支持工厂,以便工厂产品不是注入工厂本身,或用

我怀疑很多人使用过两到三种以上,而在我对Unity和Ninject的有限经验中,最终的结果并没有太大的差别。它们配置映射的选项略有不同,我确信一些更高级的功能有所不同,但它们可能很少使用。归根结底,IoC容器的核心需求并没有那么复杂——你可以很容易地实现自己的需求

更重要的是,您使用的是IoC模式,您选择的特定品牌可能对生成的应用程序的质量没有显著影响


因为它非常轻量级,所以我推荐NICATION。

< P>它不在你的列表中,但是考虑看

设施的数量,如支持工厂,以便工厂产品不是注入工厂本身,或用于注入代理或创建具有依赖关系的主机的Wcf设施

有一个很好的流畅的界面,用于连接单个项目,但最好使用约定自动连接,这样就不必列出每个组件

其他一些不错的功能:

  • 自新修订版以来需要单个dll
  • 支持通过子依赖解析程序注入列表和数组
这是一项今年进行的民意调查,显示了国际奥委会的支持。Unity似乎排名第一,但这可能是因为它是Microsoft的产品,Microsoft workshops默认会选择它。

我们在ASP.NET MVC项目中使用它,并发现它非常有用。唯一真正的缺点是文档有限。自动布线工作得非常好,如果使用强约定命名类和接口,则只需很少的配置,例如:

 public interface ISomething { ... }

 public class Something: ISomething { ... }
在此之前,我们使用了Spring.NET,尽管我们放弃了它,因为它做了很多其他(非IoC)我们并不真正需要的事情,并且需要复杂的XML配置来完成我们需要的事情。作为一个IoC容器,它工作得很好,而且非常灵活

无论你选择什么,我推荐的关键是编码,以允许使用IoC——我们到处使用接口。这确实有助于单元测试以及由此带来的所有好处


MVC3中的Unity功能看起来也很有趣,但还没有机会使用。

对StructureMap不感兴趣?@Peter:我想我应该在web项目中只使用一个IoC。或者说,我对autofac不感兴趣?@kenny:IoC太多了,从来没听说过这些东西。请建议哪一个更好?我见过使用多个IoC的项目,这会造成混乱。而且,对简单的服务定位器不感兴趣吗?请参考链接,它说Ninject存在一些严重的性能问题。根据评论,这些问题是固定的,但当然你永远不知道最新版本是什么样的。如果性能是一个关键考虑因素,那么始终值得自己进行基准测试。我将尝试Castle Windsor和StructureMap,因为它们是优秀解决方案的首选(在链接中)。非常感谢。@dhinesh我很想知道你最初会选择哪一个去温莎城堡。