Kephas 如何与 ASP.NET Core 集成?

How does Kephas integrate with ASP.NET Core?

我能理解这么多,Kephas 不提供自己的 DI 容器,但它在现有容器上构建适配器 (). Existing adapters are for System.Composition (MEF2) and, as I learned recently, for Autofac (starting with version 6.5.0, )。

但是,ASP.NET 附带了自己的 DI 容器实现。在这方面,现在是否可以将 Kephas 与 ASP.NET Core 一起使用,如果可以,如何使用?

从 6.5.0 版开始,Kephas 还将提供一个 ASP.NET 核心适配器,所以,是的,很快就可以将 Kephas 与 ASP.NET 核心一起使用。然而,内置的依赖注入并不具备 Kephas 所需的所有功能,命名元数据和惰性实例化。 Microsoft.Extensions.DependencyInjection 也会有一个适配器,但没有上述功能,所以我真的不推荐它。推荐使用 Autofac 适配器(Microsoft ASP.NET Core 推荐它用于高级场景)。

另一方面,您可以让 Kephas 使用 MEF2 或 Autofac 管理其依赖项,并向 ASP.NET Core 提供一个服务提供程序,该服务提供程序聚合了默认服务提供程序(或您选择的服务提供程序)和来自 Kephas 的服务提供程序.这有以下缺点:

  1. 你最终会得到两个容器。

  2. Kephas 容器将无法访问 ASP.NET Core 提供的服务。