Lifetimes — how long services live.
Singleton:
1builder.Services.AddSingleton<ICacheProvider, MemoryCache>();2// One instance for app lifetime
Scoped:
1builder.Services.AddScoped<IUserService, UserService>();2// One per request
Transient:
1builder.Services.AddTransient<IEmailSender, SmtpSender>();2// New each time
Rules:
Key: Match lifetime to service needs.