如何用我自己的IoC替换内置的IoC?

ala*_*min 3 asp.net-core

众所周知在asp.net Startup类中有一个方法ConfigureServices我们可以添加自定义服务.服务通过依赖注入提供.

ASP.NET Core包含一个简单的内置控制反转(IoC)容器,默认支持构造函数注入,但可以轻松替换为您选择的IoC容器.除了松耦合优势外,DI还可以在整个应用中提供服务

我的问题是如何用我自己的IoC替换内置的IoC?

如果你有,请给我一个例子.

Soc*_*ock 7

ASP.NET Core目前有许多不同的容器,包括

究竟如何使用它们在每种情况下都有所不同,但基本上它们都遵循相同的模式:

  • 使用内置容器照常注册依赖项
  • 创建第三方Container的实例
  • 将任何其他注册添加到第三方容器
  • 使用内置容器中的注册填充新容器
  • IServiceProvider从第三方容器中返回一个

可能值得注意的是,围绕这些库将与内置容器集成的方式发生了许多对话.这里的评论提供了对话的一个很好的总结,或者你可以在这里这里直接进入GitHub的讨论.