当前位置: 首页 > news >正文

三种服务生命周期

没问题,咱们先把这两个基础且关键的知识点讲透,这也是.NET依赖注入高频考点,后续项目中也会经常用到:

一、三种服务生命周期(AddScoped/AddSingleton/AddTransient)的核心区别

本质是服务实例的创建时机和复用规则不同,直接影响内存占用和数据一致性,用实际场景理解更清晰:
注册方式 实例创建规则 典型使用场景 
AddSingleton 程序启动后创建1个实例,全局复用(直到程序关闭) 无状态的工具类(如日志工厂、配置读取类)、全局唯一的资源(如数据库连接池) 
AddScoped 每次HTTP请求(或“作用域”)内创建1个实例,同一请求内复用,不同请求重新创建 有状态的业务类(如用户上下文、单次请求的事务处理类) 
AddTransient 每次获取服务(如GetService<T>()、构造函数注入)时,都创建新实例 轻量级、无复用必要的类(如临时数据验证类、单次使用的工具方法封装类) 

举个直观例子:
如果用AddSingleton注册“用户信息类”,会导致所有用户共享同一个实例——A用户的信息会被B用户看到,直接出数据安全问题;而用AddScoped,每个用户的请求会单独创建实例,就不会有这个问题。

 

http://www.dtcms.com/a/561196.html

相关文章:

  • Mybatis的添加和修改功能
  • Linux 安全文件传输完全指南:sftp 与 scp 的深度解析引言
  • Mysql基础3
  • 上海cms网站建设珠海网站建设 科速
  • 有没有可以做游戏的网站电商网课教材
  • 【自然语言处理】生成式语言模型GPT复现详细技术方案
  • Qt 打开文件列表选择文件,实现拖拽方式打开文件,拖拽加载
  • 网站搭建徐州百度网络搭建专做婚礼logo的网站
  • macOS 上获取调试版
  • 奉加微PHY6230软件三:自定义MAC和ll_set_ble_mac_addr不能屏蔽
  • 模型推理如何利用非前缀缓存
  • 网站建设方面的论文重庆网站制作工作室
  • 优化学校网站建设方案wordpress+免备案空间
  • Linux系统之----UDP、TCP详解
  • TcpConnection
  • 选对模型、搭好架构:企业如何构建高精准RAG知识库
  • 广东网站设计公司价格软件商城app下载
  • 建立网站买空间哪家好福州关键词快速排名
  • 河南省建设厅职称网站网站域名包括哪些
  • Typescript语言中通过get请求获取api.open-meteo.com网站的天气数据
  • 设计模式的介绍
  • 13.2.3.Tomcat
  • WordPress网站主题升级网站引导页的作用
  • 哪些网站建设公司好域名备案需要多久
  • [DeepOCR] OCR主模型调度 | VLLM深度集成 | 多模态融合
  • 衡阳网站优化公司网站设计用什么软件
  • “开源链动2+1模式AI智能名片S2B2C商城小程序”在拉群营销中的应用与效果
  • c语言开发网站后端共享备案网站
  • 若依 Ruoyi APP 按钮权限管理 checkPermi
  • 托管网站是什么意思深圳人社局官网