Junior — Middle
Bağımlılık Enjeksiyonu mekanizması aracılığıyla uygulandıktan sonra nesnenin varlık süresi nasıl belirlenir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Dependency Injection (DI) kullanılarak oluşturulan bir nesnenin yaşam süresi, DI kapsayıcısında hizmet kaydı sırasında belirlenen yaşam süresi (lifetime) ile belirlenir. C#'ta (örneğin, ASP.NET Core'da) üç temel yaşam süresi türü vardır:
- Transient — her hizmet isteğinde yeni bir örnek oluşturulur.
- Scoped — bir örnek alan başına (örneğin, HTTP isteği) oluşturulur ve bu alan içinde tekrar kullanılır.
- Singleton — ilk istekte bir örnek oluşturulur ve uygulama kapanana kadar yaşar.
Kayıt örneği:
services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();
Bu nedenle, nesnenin yaşam süresi, DI kapsayıcısında kayıtta seçilen yaşam süresine bağlıdır.