.NET 中服务注册在容器中有3中方式:Transient/Scoped/Singleton
Transient(瞬时的)
transient服务使用services.AddTransient()注册在容器中,当从容器中请求服务时,每次请求均创建一个服务实例,也就是说,每次注入都产生一个新的对象。
Scoped(范围的)
scoped服务使用services.AddScoped()注册在容器中,在webAPI和MVC中,scoped的作用范围是一次请求,也就是说,在一次HTTP请求中,无论注入了多少个该scoped服务,实际上只创建了一个服务实例。
Singleton(单一的)
顾名思义,服务实例在整个应用生命周期中只存在一个,当第一次请求时创建,以后的每次注入使用的都是第一次创建的实例。