Bir ASP.NET uygulaması yazıyorum. Veri tabanımda, sorgulamadan önce ve sonra bir sql bağlantısı açılmakta ve kapatılmaktadır. SqlConnection, tek bir sınıfın özel alanı olarak tutuluyor. Ben istisna 'bağlantı kapatılmadı olsun çok nadir durumlarda, HenüzBağlantı kapatılmadı, Bağlantının mevcut durumu açık
conn.Open();
try
{
// database querying here
}
finally
{
conn.Close();
}
: sınıftaki her veritabanı çağrı aynı yapıyı kullanır. Bağlantının mevcut durumu açıktır '. Sorunun çoğaltılması, kodun farklı bölümlerinden çok nadiren kaynaklandığından mümkün değildir. Uygulamamda bazı iş parçacıkları var ama yeni iş parçacıkları da yeni veri katmanı sınıfları ve dolayısıyla yeni bağlantı nesneleri oluşturuyor.
Yukarıdaki kodu kullanarak açıkta kalan bir bağlantının nasıl olabileceğini anlamıyorum. Bağlantı açıldıktan sonra daima kapatılmamalıdır, yukarıdaki istisnanın gerçekleşmesini imkansız kılar mı?
Buradaki önemli şey, bağlantı nesnesinin kayıtsız kaldığı yer mi? –
Ayrıca: 'using' kullanmada sorun nedir? –
Bunun yerine bir kullanım bildirimi kullanın? Garanti, bağlantının kapatılıp bertaraf edilmesi. –