Gerekli sınıflarını IDisposable arayüzünden türeterek Dispose methodunu implemente ettmişsiniz zaten sanırım. Ummanaged resource kullanıyor musunuz hiç servisiniz içerisinde. Bir de finalizer yazmanızı öneririm. Finalizer ile unmanaged resource ları, Dispose ile managed referansları serbest bırakırsanız belki bir sonuç alabilirsiniz.
Ancak tüm bunlarla beraber şunu da belirtmek isterimki GC siz ne yaparsanız yapın non-deterministic çalışır, yani düşük nesil serbest bırakılmış sınıfları gerçekten ne zaman toplayacağını hiç kimse bilemez. Bu nedenle servisinizin büyüyor olması belirli bir noktadan sonra duracaktır diye düşünüyorum. GC ihtiyaç duyduğu anda gerekli toplama işlemlerini gerçekleştirecektir. Bunun için endişelenmeye belki de hiç gerek yoktur. Uzun süreli çalışmalarda stabilite problemi yaşıyor musunuz?
|