AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Kalite ve teknik borç › Items › TD-13

`InternalDb` yaşam döngüsü kusurları

TECH_DEBTERPGOLD_COREACTIVEVERY_HIGHSOURCE_IMPLEMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Etki: PF, VB · Öncelik: P2 · Doğrulama: VERIFIED

Kaynak: KB-docs quality/technical-debt.md (tam kod taraması, 2026-09-10). Alanlar: Risk · Evidence · Impact · Recommendation · Priority — KB-docs metninde gömülü; aşağıda korunmuştur.

  • Nerede: ERPPRO/Class/Module/InternalDb.vb:131-141 (Dispose(disposing) gövdesi boş — SqlConnection kapatılmıyor), :53-65,69-81 (Finally boş), :100-123 (Da.Fill(Ds) aynı DataSet'e ekler, temizlenmez), :85-96 (ExecuteReader CloseConnection davranışı yok).
  • Etki: PF, VB — 866 Using db As New InternalDb bloğundan yalnız 231'i açıkça kapatıyor; kalanlar GC'ye kalıyor (havuz baskısı, uzun süreli açık bağlantı); aynı örnekte iki DataTable() çağrısı satırları çoğaltır (INFERRED sonuç, VERIFIED yapı).
  • Kanıt: satırlar + grep sayıları (database-access §3).
  • Öneri: Dispose içinde SqlConnection.Close/Dispose; her çağrıda Ds.Clear() veya yeni DataTable; okuyucu için CommandBehavior.CloseConnection.
  • Öncelik: P2.