Dotnet scopes
Singleton - always return the same instance
Transient - return new instance every time
Scoped - return same instance in current (request) scope
Singleton - always return the same instance
Transient - return new instance every time
Scoped - return same instance in current (request) scope