Example of how to use DependencyInjection on Visual Basic .NET v15.5 and Visual C# v7.3
Transient objects are always different, a new instance is provided to every controller and every service.
Scoped objects are the same within a request, but different across different requests
Singleton objects are the same for every object and every request (regardless of whether an instance is provided in ConfigureServices)