.NET中依赖注入服务生存期作用域

.NET 中服务注册在容器中有3中方式:Transient/Scoped/Singleton

Transient(瞬时的)

transient服务使用services.AddTransient()注册在容器中,当从容器中请求服务时,每次请求均创建一个服务实例,也就是说,每次注入都产生一个新的对象。

Scoped(范围的)

scoped服务使用services.AddScoped()注册在容器中,在webAPI和MVC中,scoped的作用范围是一次请求,也就是说,在一次HTTP请求中,无论注入了多少个该scoped服务,实际上只创建了一个服务实例。

Singleton(单一的)

顾名思义,服务实例在整个应用生命周期中只存在一个,当第一次请求时创建,以后的每次注入使用的都是第一次创建的实例。

博客备忘,一起成长。
原文地址:https://www.cnblogs.com/lumingprince/p/14738336.html