.Net Core IOC DI(依赖注入)

原文链接:https://www.cnblogs.com/ysmc/p/16012269.html

暂时(Transient)

  • 暂时生存期服务是每次从服务容器进行请求时创建的。 这种生存期适合轻量级、 无状态的服务。

作用域(Scoped)

  • 对于 Web 应用,指定了作用域的生存期指明了每个客户端请求(连接)创建一次服务。
  • 在处理请求的应用中,在请求结束时会释放有作用域的服务。
  • 使用 Entity Framework Core 时,默认情况下使用范围内生存期来注册 DbContext 类型。

单例(Singleton)

  • 来自依赖关系注入容器的服务实现的每一个后续请求都使用同一个实例。 如果应用需要单一实例行为,则允许服务容器管理服务的生存期。
  • 单一实例服务必须是线程安全的,并且通常在无状态服务中使用。
  • 注意:不要从单一实例解析限定范围的服务,并小心不要间接地这样做,例如通过暂时性服务。 当处理后续请求时,它可能会导致服务处于不正确的状态。最直接的影响是限定范围的服务无法释放,间接成了单例模式。一定要使用,就自己创建,并且显式管理它的生命周期。
posted @   一事冇诚  阅读(2282)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示