• ASP.NET Core本身已经集成了一个轻量级的IOC容器


    1、services.AddTransient<IApplicationService,ApplicationService>//服务在每次请求时被创建,它最好被用于轻量级无状态服务(如我们的Repository和ApplicationService服务)

    2、services.AddScoped<IApplicationService,ApplicationService>//服务在每次请求时被创建,生命周期横贯整次请求

    3、services.AddSingleton<IApplicationService,ApplicationService>//Singleton(单例) 服务在第一次请求时被创建(或者当我们在ConfigureServices中指定创建某一实例并运行方法),其后的每次请求将沿用已创建服务。如果开发者的应用需要单例服务情景,请设计成允许服务容器来对服务生命周期进行操作,而不是手动实现单例设计模式然后由开发者在自定义类中进行操作。

    权重:

    AddSingleton→AddTransient→AddScoped

    1、AddSingleton的生命周期:项目启动-项目关闭   相当于静态类  只会有一个  

    2、AddScoped的生命周期:请求开始-请求结束  在这次请求中获取的对象都是同一个 

    3、AddTransient的生命周期:请求获取-(GC回收-主动释放) 每一次获取的对象都不是同一个

  • 相关阅读:
    关于钩子函数的详细解答:
    Vue实现回到顶部
    Vue实现Rate组件(星星评分)
    Vue-router 路由模式
    javascript中实现跨域的方式
    Promise
    webpack使用
    小程序登录
    api工厂的sdk的使用
    面试题划“重点”
  • 原文地址:https://www.cnblogs.com/sylone/p/10949272.html
Copyright © 2020-2023  润新知