SINGLETONS IN ASP.NET CORE
With the ASP.NET Core Dependency Injection framework, the following life cycles are available.
Transient – Each time a transient object is requested, a new instance will be created
Scoped – The same object will be used when requested within the same request
Singleton – The same object will always be used across all requests
Singleton Scoped Transient In ASP.NET Core
Singleton Pattern In .NET Core
Implementing the Singleton Pattern in ASP.NET Core