ASP.NET Core中AddSingleton等服务注册方法使用的IoC容器是什么类型?
ASP.NET Core 服务注册方法对应IoC容器说明
你提到的AddSingleton、AddScoped、AddTransient三个服务注册方法,默认使用的是*.NET 官方为.NET Core/.NET 5+ 系列框架内置的原生IoC容器*,不属于Unity、Spring.Net、Ninject这类第三方IoC框架。
相关细节补充:
- 内置IoC容器的实现定义在
Microsoft.Extensions.DependencyInjection命名空间下,是ASP.NET Core默认依赖注入体系的核心组成部分,新建项目不需要额外引入任何第三方NuGet包就可以直接使用这些注册方法。 - 官方内置容器主打轻量、高性能,覆盖了大部分常用的依赖注入需求,原生支持三种基础生命周期管理:
AddSingleton注册单例服务:整个应用生命周期内只创建一个实例AddScoped注册作用域服务:每次请求(或每次自定义创建的作用域范围)内仅创建一个实例AddTransient注册瞬时服务:每次从容器获取服务时都会创建新的实例
- 如果你需要使用第三方IoC框架的高级能力(比如属性注入、拦截器、更复杂的注册规则等),也可以手动将默认的内置容器替换为Unity、Autofac、Ninject等第三方框架,只需安装对应框架的官方适配包即可完成替换,替换后也可以沿用这三个常用注册方法的使用习惯。
内容的提问来源于stack exchange,提问作者user1187282
相关产品推荐
相关产品推荐

