Escrito el 12/06/2024
Curso ASP.Net: Dependecy Injection
Para injectar clase/objetos/servicios/repositorios se hace desde el Startup
Nota 1: También es común crear extension methods para agrupar las injectiones o ponerlas en otras librerías.
Se hace dentro del ConfigureServices. En este caso, injectamos el servicio PaginationService usando su interfaz.
public class Startup {
...
public void ConfigureServices(IServiceCollection services) {
...
services.AddScope<IPaginationService1, PaginationService2>();
services.AddSingleton<IPaginationService2, PaginationService2>();
services.AddTransient<IPaginationService3, PaginationService3>();
...
}
}
AddScope
Se crea una instancia por cada request.
AddSingleton
Se crea una sóla instancia por todo el ciclo de vida de la aplicación.
AddTransient
Cada vez que se injecta se crea un nueva instancia.
Nota 1: muy común para ILogger.