Avatar ·

Qual é a diferença entre AddTransient, AddScoped e AddSingleton no ASP.NET Core?

Olá a todos! Sou novo no ASP.NET Core e estou tentando entender a Injeção de Dependência (Dependency Injection). No Startup.cs, vejo frequentemente três métodos: AddTransient, AddScoped e AddSingleton. Li a documentação, mas não entendo completamente quando usar cada um. Por exemplo, tenho um serviço simples para gerar números aleatórios: ```csharp public interface IRandomService { int GetRandomNumber(); } public class RandomService : IRandomService { private readonly int _number; public RandomService() { _number = new Random().Next(1, 1000); Console.WriteLine($"Instância de RandomService criada com o número {_number}"); } public int GetRandomNumber() => _number; } ``` Eu o registro no Startup.cs assim: ```csharp services.AddTransient(); // ou services.AddScoped(); // ou services.AddSingleton(); ``` Quando chamo este ser