ASP.NET Core自己已经集成了一个轻量级的IOC容器

一、services.AddTransient<IApplicationService,ApplicationService>//服务在每次请求时被建立,它最好被用于轻量级无状态服务(如咱们的Repository和ApplicationService服务)设计模式

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

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

权重:对象

AddSingleton→AddTransient→AddScoped生命周期

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

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

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

相关文章
相关标签/搜索