1、services.AddTransient<Iapplicationservice,applicationservice>//服务在每次请求时被创建,它最好被用于轻量级无状态服务(如我们的Repository和applicationservice服务)
2、services.AddScoped<Iapplicationservice,applicationservice>//服务在每次请求时被创建,生命周期横贯整次请求
3、services.AddSingleton<Iapplicationservice,applicationservice>//Singleton(单例) 服务在第一次请求时被创建(或者当我们在ConfigureServices中指定创建某一实例并运行方法),其后的每次请求将沿用已创建服务。如果开发者的应用需要单例服务情景,请设计成允许服务容器来对服务生命周期进行操作,而不是手动实现单例设计模式然后由开发者在自定义类中进行操作。
权重:
AddSingleton→AddTransient→AddScoped
1、AddSingleton的生命周期:项目启动-项目关闭 相当于静态类 只会有一个