Singleton, Scoped, Transient: .NET'te Hangisini Ne Zaman Kullanmalıyız?
Singleton, Scoped ve Transient, .NET Dependency Injection sisteminin en temel konularından biri olsa da gerçek projelerde aralarındaki farkı doğru uygulamak her zaman kolay değil. Bir servisin ne zaman oluşturulduğunu, ne kadar süre yaşadığını ve hangi nesnelerle aynı örneği paylaştığını anlamak, doğru yaşam döngüsünü seçmenin temelini oluşturuyor. Bu yazıda üç yaklaşımı çalışan kod örnekleri, nesne kimlikleri ve gerçek proje senaryolarıyla karşılaştırdım. Ayrıca DbContext, BackgroundService, IDisposable ve thread safety üzerinden yanlış servis kaydının nasıl sorunlara yol açabileceğini inceledim.