Two important questions to ask when using dependency injection are: How long will the instances of these dependencies live, and how many other objects have access to the same instance?
The answer depends on a number of factors, mainly because different options have been made available to us so that we can make the decision for ourselves. The first factor, and possibly the easiest to understand, is the
Scope the dependency was registered with. The scopes defined by
Microsoft.Extensions.DependencyInjection.ServiceLifetime are Singleton, Scoped, and Transient.