2016-07-22 31 views
2

大家都知道在asp.net 启动类有个方法ConfigureServices我们可以添加自定义服务。服务通过依赖注入提供。如何用我自己的IoC替换内置的IoC?

ASP.NET核心包括控制反转(IoC) 容器的简单的内置反转,默认情况下支持构造器注入,但可以 轻松地与您选择的IoC容器代替。除了其 松散耦合的好处,DI使提供的服务在您的 应用

我的问题是如何更换内置IoC和我自己的IoC?

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

回答

7

有许多不同的容器的当前可用于ASP.NET核心,包括

正是你如何使用它们的区别在每种情况下,但本质上它们都遵循相同的模式:使用内置容器

  • 创建第三方的一个实例,容器
    • 注册依赖像往常一样
    • 添加任何额外的注册量为第三方容器
    • 填充新的容器与注册的内置容器
    • 返回从第三方容器的IServiceProvider

    值得注意的是,在这些图书馆将与内置容器进行整合的方式中会发生一些对话。评论here提供了对话的一个很好的总结,或者你可以直接参与关于GitHub herehere的讨论。