Sobes.tech
Junior — Middle

¿Cómo se determina la duración de la existencia de un objeto después de su implementación a través del mecanismo de Inyección de Dependencias?

sobes.tech AI

Respuesta de la IA

La duración de vida de un objeto creado mediante Inyección de Dependencias (DI) se determina por el tiempo de vida (lifetime), que se establece al registrar el servicio en el contenedor DI. En C# (por ejemplo, en ASP.NET Core), hay tres tipos principales de tiempos de vida:

  • Transient — se crea una nueva instancia en cada solicitud de servicio.
  • Scoped — se crea una instancia por ámbito (por ejemplo, por solicitud HTTP) y se reutiliza dentro de ese ámbito.
  • Singleton — se crea una instancia en la primera solicitud y vive hasta que la aplicación termina.

Ejemplo de registro:

services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();

Por lo tanto, la duración de vida del objeto depende del tiempo de vida elegido al registrarlo en el contenedor DI.