> 技术文档 > C# 微软依赖注入 (Microsoft.Extensions.DependencyInjection) 详解

C# 微软依赖注入 (Microsoft.Extensions.DependencyInjection) 详解


文章目录

  • 前言
  • 关键特性详解
    • 1、构造函数注入
    • 2、作用域管理
    • 3、服务解析方法
    • 4、延迟加载
  • 常见问题解决
    • 问题1:循环依赖
    • 问题2:多实现选择
  • 性能优化技巧
  • 扩展方法示例

前言

微软的依赖注入框架是 .NET Core/5+ 的核心组件,提供轻量级、高性能的依赖注入实现,遵循 IServiceProvider 接口规范。

核心原理

  1. 控制反转 (IoC)
    将对象创建和依赖管理的控制权从调用方转移到容器

  2. 依赖注入 (DI)
    通过构造函数/属性/方法注入依赖对象

  3. 服务生命周期
    管理对象的创建和销毁策略

三大生命周期

生命周期 描述 使用场景 Transient 每次请求都创建新实例 无状态服务 Scoped 在同一作用域内共享实例(如 Web 请求) 数据库上下文、请求相关服务 Singleton

艺术品交易