七、使用其他DI容器

Microsoft.Extensions.DependencyInjection是一个简单的DI容器;许多第三方的容器都提供了额外的功能。例如,Autofac允许在配置文件中配置服务。

ASP.NET Core使用Microsoft.Extensions.DependencyInjection,除此之外,还可以使用适配器配置它——使用其他第三方依赖注入容器,如Autofac、Rezolver、Scan、Neleus、CuteAnt、fm、Dryloc、Stashbox等。只需要以NuGet包的形式添加一个适配器,根据容器的需求进行初始化。

示例项目DIWithAutofac使用和之前的实现相同的HomeController和GreetingService,但它使用Autofac依赖注入容器适配器。为此,需要如下NuGet包和名称空间:

Autofac.Extensions.DependencyInjection

Microsoft.Extensions.DependencyInjection

名称空间

Autofac

Autofac.Extensions.DependencyInjection

Microsoft.Extensions.DependencyInjection

System

为了使用Autofac容器适配器,服务应与以前一样,在ServiceCollection中注册。现在不用创建IServiceProvider,而是使用来自Autofac的ContainerBuilder。可以使用调用Populate方法的ServiceCollection来填充该构建器。这种方法可以给这个容器添加数百个ASP.NET Core服务。这个容器还支持一些Register方法来添加托管服务。Build方法现在创建一个容器,并使用IContainer接口返回它:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值