• .Net Core AddTransient、AddScoped和AddSingleton的使用


    区别:

    • AddTransient 每次service请求都是获得不同的实例,暂时性模式:暂时性对象始终不同,无论是不是同一个请求(同一个请求里的不同服务)同一个客户端,每次都是创建新的实例
    • AddScoped 对于同一个请求返回同一个实例,不同的请求返回不同的实例,作用域模式:作用域对象在一个客户端请求中是相同的,但在多个客户端请求中是不同的
    • AddSingleton 每次都是获得同一个实例, 单一实例模式:单一实例对象对每个对象和每个请求都是相同的,可以说是不同客户端不同请求都是相同的

    说明:

    AddSingleton的生命周期:

    项目启动-项目关闭   相当于静态类  只会有一个  

    AddScoped的生命周期:

    请求开始-请求结束  在这次请求中获取的对象都是同一个 

    AddTransient的生命周期:

    请求获取-(GC回收-主动释放) 每一次获取的对象都不是同一个

    由于AddScoped对象是在请求的时候创建的,所以不能在AddSingleton对象中使用,甚至也不能在AddTransient对象中使用

  • 相关阅读:
    如何写文件上传下载
    填充表格的模板代码
    ArcGIS Server 分布式注意事项
    在android上导入第三方jar包 报错:Could not find class
    @Override annotation 出错
    签到时间
    分页三条件查询
    上传图片
    分页
    二级联动
  • 原文地址:https://www.cnblogs.com/hualiuliu/p/14074924.html
Copyright © 2020-2023  润新知