Quelle est la différence entre AddTransient, AddScoped et AddSingleton dans ASP.NET Core ?
Bonjour à tous ! Je suis nouveau dans ASP.NET Core et j'essaie de comprendre l'injection de dépendances (Dependency Injection). Dans Startup.cs, je vois souvent trois méthodes : AddTransient, AddScoped et AddSingleton. J'ai lu la documentation, mais je ne comprends pas encore complètement quand utiliser laquelle.
Par exemple, j'ai un service simple pour générer des nombres aléatoires :
```csharp
public interface IRandomService
{
int GetRandomNumber();
}
public class RandomService : IRandomService
{
private readonly int _number;
public RandomService()
{
_number = new Random().Next(1, 1000);
Console.WriteLine($"Instance de RandomService créée avec le nombre {_number}");
}
public int GetRandomNumber() => _number;
}
```
Je l'enregistre dans Startup.cs comme ceci :
```csharp
services.AddTransient();
// ou
services.AddScoped();
// ou
services.AddSingleton();
```
Quand j'appelle ce ser