inicio mail me! sindicaci;ón

Daha etkin kaynak yönetimi için finally bloğunu kullanın

Özellikle aşağıdaki nesne ve yapılarla çalışırken daha etkin kaynak yönetimi için finally bloğunu kullanın.
* veritabanı bağlantıları
* dosyalar
* mesaj kuyrukları
* text reader ve writer’lar
* binary reader ve writer’lar
* crypto stream
* simetrik, asimetrik ve hash algoritmaları
* timer ve threading kullanımında wait handle
* xml reader ve writer

Örneğin bir veritabanı bağlantısının her koşulda (işlem başarılı olsa da, hata oluşsa da) kapanmasını sağlamak için aşağıdaki kodu kullanabilirsiniz;

SqlConnection conn = new SqlConnection();

try
{
conn.Open();
//işlemler
conn.Close();
}
finally
{
if (conn.State==ConnectionState.Open)
conn.Close();
}

Close metodunun hem try hem finally bloğunda çağrıldığına dikkat edin. Close metodun, inally bloğunda da yer aldığı için Try bloğunda kullanmamamız herhangi bir soruna yol açmayacaktı ancak kaynakları mümkün olduğunca erken serbest bırakabilmek için bu blokta da kullandık. Finally bloğunda yer alan Close metodu ise, try bloğunun herhangi bir nedenle kesilmesi sonucunda çalışarak bağlantımızın her koşulda kapanmasını garanti altına alacaktır.

Leave a Comment