Sobes.tech
Junior — Middle

Comment la durée de vie d'un objet est-elle déterminée après son injection via le mécanisme d'injection de dépendances?

sobes.tech IA

Réponse de l'IA

La durée de vie d'un objet créé via l'injection de dépendances (DI) est déterminée par le temps de vie (lifetime), qui est défini lors de l'enregistrement du service dans le conteneur DI. En C# (par exemple, dans ASP.NET Core), il existe trois principaux types de durée de vie :

  • Transient — une nouvelle instance est créée à chaque requête de service.
  • Scoped — une instance est créée par scope (par exemple, par requête HTTP) et réutilisée dans ce scope.
  • Singleton — une instance est créée lors de la première requête et reste jusqu'à la fin de l'application.

Exemple d'enregistrement :

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

Ainsi, la durée de vie de l'objet dépend du temps de vie choisi lors de l'enregistrement dans le conteneur DI.