.net核心中的依赖项注入,Autofac,StructureMap和Factory方法来解决接口(如果已向多个实现注册)

Rak*_*esh 3 dependency-injection .net-core asp.net-core asp.net-core-2.0

在我的项目中,我使用责任链设计模式,为此我需要创建多个实现相同接口的处理程序。在.net应用程序(不是.net核心)中,我会使用UnityContainer使用DI,而在其中我可以使用命名参数来解析处理程序。但是在.net核心中,我无法做到这一点。现在,我几乎没有选择使用其他DI库(例如Autofac,Structuremap)或创建工厂方法的方法,这些方法可以根据传递的名称为我提供对象。请帮助我在这两者之间选择正确的方法,或者提出一些更好的建议。我没有使用过Autofac或Structuremap,所以我几乎不知道。谢谢。

Pep*_*dez 6

大多数情况下,所有DI工具都使用不同的API实现相同的功能。这些天,您的需求突出了差异。

StructureMap或Autofac都是不错的选择。一切都归结为“风味”。

检查本文。我认为是一个好人。配置比较依赖项注入容器

同样,不要强调它们,除非您需要其中一个非常非常特殊的功能。

我会做Autofac只是因为我不需要别的东西,但是,我会毫不犹豫地使用StructureMap,Ninject或任何新的东西。