¿Cuál es la diferencia entre AddTransient, AddScoped y AddSingleton en ASP.NET Core?
¡Hola a todos! Soy nuevo en ASP.NET Core y estoy tratando de entender la inyección de dependencias (Dependency Injection). En Startup.cs veo a menudo tres métodos: AddTransient, AddScoped y AddSingleton. Leí la documentación, pero no termino de entender cuándo usar cada uno.
Por ejemplo, tengo un servicio simple para generar números aleatorios:
```csharp
public interface IRandomService
{
int GetRandomNumber();
}
public class RandomService : IRandomService
{
private readonly int _number;
public RandomService()
{
_number = new Random().Next(1, 1000);
Console.WriteLine($"Creada instancia de RandomService con número {_number}");
}
public int GetRandomNumber() => _number;
}
```
Lo registro en Startup.cs así:
```csharp
services.AddTransient();
// o
services.AddScoped();
// o
services.AddSingleton();
```
Cuando llamo a este se