我能理解的是,Kepha没有提供自己的DI容器,但是它在现有的适配器(Kephas has its own dependecy injection container. Why another framework, why not use an existing one?)上构建适配器。现有适配器用于System.Composition (MEF2),正如我最近了解到的,用于Autofac (从6.5.0版本开始,Cannot use constructors in open generic services with Kephas)。
然而,ASP.NET附带了它自己的DI容器实现。在这方面,现在是否可以在ASP.NET核心中使用Kephas,如果可以,如何使用?
发布于 2019-08-26 07:28:41
从6.5.0版本开始,Kephas还将提供一个ASP.NET核心适配器,因此,是的,在ASP.NET Core中使用Kephas很快就可能了。然而,内置依赖注入并不具备Kephas所需的所有特性,即命名元数据和延迟实例化。Microsoft.Extensions.DependencyInjection也将有一个适配器,但没有上述功能,所以我并不真正推荐它。建议使用Autofac适配器( Microsoft ASP.NET Core推荐它用于高级方案的事件)。
另一方面,您可以让Kephas使用MEF2或Autofac管理它的依赖项,并向ASP.NET Core提供一个服务提供者,它聚合默认的依赖项(或您选择的一个)和来自ASP.NET核心的依赖项。这有以下缺点:
https://stackoverflow.com/questions/57636748
复制相似问题