CommandBehavior.CloseConnection Kullanımı

CommandBehavior.CloseConnection, ilgili DataReader nesnesi kapatıldığından ilişkili Connection nesnesi de kapatılır.

Yukarıda tanım açık olmasına rağmen biraz detaylandıralım.

Komut Çalıştırma

Bir sql komutunu çalıştırmak ve sonucu almak için en az 5 adım gerekli. Bahsi geçen yapı Online diye ifade edilen Connected yapı.

  1. Bağlantı nesnesi oluşturulur
  2. Komut nesnesi oluşturulur
  3. Bağlantı açılır
  4. komut çalıştılır
  5. Bağlantı kapatılır

Bağlantı en çok kaynak tüketen nesen olduğu için olabildiğince geç açılmalı ve olabildiğince erken kapatılmalıdır.

Yukarıdaki anlattılarımıza destek için tablodaki kayıtları listeleyen bir örnek yazalım.

Helper

Şimdi işi biraz ileri götürelim. Bir yardımcı nesne yazalım kod tekrarı olmasın.

Dikkat ederseniz metod içinde bağlantı açılıyor ama kapanmadan Reader nesnesi geri döndürülüyor. Aksi takdirde nesne okuma yapamaz.

Peki bağlantı açık mı kalacak? CloseConnection davranışı sayesinde değil.

Konu hakkında daha fazla kaynak için msdn.