Bağlantı havuzu – mobil uygulama geliştirme, web hizmetleri, SOA mimarisi - Teknoloji
İçeriğe atla

Bağlantı havuzu - mobil uygulama geliştirme, web hizmetleri, SOA mimarisi

reklamlar

Bağlantı havuzu nedir?

Bağlantı havuzu oluşturma, aynı yapılandırmaya sahip bağlantıları sürekli olarak oluşturma ve bırakma yükünü azaltmak için mevcut bağlantıları yeniden kullanmanıza olanak tanır. Başka bir deyişle, aynı bağlantı dizesini ve kimlik bilgilerini kullanan bağlantıları açmak ve kapatmak, havuzdaki kullanılabilir bir bağlantıyı yeniden kullanabilir. Tipik uygulamalar, bir veritabanından sürekli olarak veri almak ve güncellemek için aynı bağlantı nesnelerini kullanır. Bağlantı havuzu oluşturma, veritabanının sürekli bağlantı oluşturup bırakma ihtiyacını ortadan kaldırarak çok daha yüksek düzeyde performans sağlar. Bağlantı havuzları işleme, uygulama etki alanına ve bağlantı dizesine göre ayrılır. Entegre güvenlik kullanan bağlantı dizeleri için her benzersiz kimlik için ayrı bir havuz oluşturulur.

Bağlantı Havuzu Seçeneklerini Denetleme

ADO.NET bağlantı nesneleri oluşturulurken bağlantı havuzu oluşturma varsayılan olarak etkindir. Bağlantı havuzu oluşturma için belirli bağlantı dizesi anahtar sözcükleri ayarlayarak, bağlantı havuzu oluşturma davranışını kontrol edebilir (veya bağlantı havuzu oluşturmayı tamamen devre dışı bırakabilirsiniz). Örneğin, bağlantı havuzunu özellikle devre dışı bırakmak için bağlantı dizenizde Pooling=False değerini ayarlayın. Tablo 5-7, belirli bir bağlantının bağlantı havuzuyla nasıl etkileşime gireceğini denetlemek için kullanılabilecek bağlantı dizesi anahtar sözcüklerinin bir listesini sağlar. Tüm anahtar kelimeler tüm sağlayıcılar tarafından kullanılamayabilir. Örneğin, OLE DB sağlayıcısı, bağlantı dizesindeki OLE DB Hizmetleri anahtar sözcüğü için ayarlanan değere göre bağlantı havuzunu (kaynak veya oturum havuzu olarak da bilinir) denetler.

Tablo Bağlantı Havuzu Bağlantı DizesiBağlantı havuzu davranışını denetleyen bağlantı dizesi özelliklerine ek olarak, bağlantı nesnelerinde bağlantı havuzu oluşturmayı da etkileyebilecek yöntemler de mevcuttur. Mevcut yöntemler genellikle uygulamanızdaki bağlantıları kapattığınızda kullanılır ve bunların bir daha kullanılmayacağını bilirsiniz. Bu, bağlantıları kapatıldığında havuza geri döndürmek yerine, bağlantıları atarak bağlantı havuzunu temizler. Halihazırda havuzda bulunan ve açık olan tüm bağlantılar, bir sonraki kapatılışında silinecektir. Tablo 5-8, bağlantı havuzlarıyla etkileşime geçmek için mevcut yöntemleri listeler.

Bağlantı havuzunu kullanacak şekilde bağlantıları yapılandırma

Varsayılan olarak, ADO.NET'te bulunan tüm .NET Framework veri sağlayıcılarında bağlantı havuzu oluşturma etkindir, ancak bağlantı havuzu oluşturmayla çalışmaya yönelik mevcut denetim düzeyi, kullanılan sağlayıcıya bağlı olarak değişir.

Bağlantı havuzunu SQL Server bağlantılarıyla yapılandırma

Varsayılan olarak SqlConnection nesnesi otomatik olarak bağlantı havuzunu kullanır. Sqlconnection.Open'ı benzersiz bir bağlantı dizesiyle her çağırdığınızda yeni bir havuz oluşturulur. Daha önce Tablo 5-7'de açıklandığı gibi bağlantı dizesindeki bağlantı havuzu anahtar sözcüklerini ayarlayarak bağlantı havuzu davranışını kontrol edin. Örneğin minimum havuz boyutunu ayarlamak istediğiniz bir bağlantıyı düşünün. Mîn Pool Size anahtar kelimesine sıfırdan büyük bir değer atayarak uygulama sonlanana kadar havuzun yok edilmemesini sağlarsınız. Minimum havuz boyutunu 5'e ayarlamak için aşağıdakine benzer bir bağlantı dizesi kullanın:

Veri Kaynağı=SqlServerName;İlk Katalog=VeritabanıAdı; Entegre güvenlik=Doğru;Minimum havuz boyutu=5

Minimum havuz boyutu varsayılan olarak 0'dır; bu, bağlantı dizesindeki minimum havuz boyutunu artırarak her bağlantının istenildiği gibi oluşturulması ve başlatılması gerektiği anlamına gelir; belirtilen sayıda bağlantı oluşturulur ve kullanıma hazır hale gelir; bu ilk bağlantılarda bağlantı kurmak için gereken süre.

Oracle Connections ile Bağlantı Havuzunu Yapılandırma

Oracle için .NET Framework Veri Sağlayıcısını kullanan bağlantılar, varsayılan olarak otomatik olarak bağlantı havuzunu kullanır. Bağlantı dizesi anahtar sözcüklerini ayarlayarak bağlantının havuzu nasıl kullandığını kontrol edebilirsiniz. Tablo 5-10, bağlantı havuzu etkinliklerini değiştirmek için kullanılabilen bağlantı dizesi anahtar sözcüklerinin ayrıntılarını vermektedir.

Bağlantı hatası yönetimi

SQL Server bir uyarı veya hata döndürdüğünde, SQL Server için .NET Framework Veri Sağlayıcısı, sorunu çözmek için uygulamanızda yakalayabileceğiniz bir SqlException oluşturur ve atar. SqlException oluşturulduğunda, SQL sunucusundan döndürülen hataların koleksiyonuna erişmek için SqlException.Errors özelliğini inceleyin. SqlException.Errors özelliği, her zaman en az bir SqlError nesnesi içeren bir SqlErrorCollection sınıfıdır (SqlError sınıflarının bir koleksiyonu).

Daha fazla bilgi SQL Server Hataları

SqlConnection önem düzeyi 19 veya daha düşük olan iletiler için açık kalacak, ancak genellikle önem düzeyi 20 veya daha yüksek olduğunda otomatik olarak kapanacaktır.

Özet

  • Bağlantı havuzu oluşturma varsayılan olarak etkindir.
  • Bağlantı havuzu oluşturma seçenekleri, Windows'ta ODBC Veri Kaynağı Yöneticisi iletişim kutusunu kullanan ODBC sağlayıcısı dışında, bağlantı dizesinde tanımlanır.
  • SQL sunucusunda bir hata algılandığında bir SqlException nesnesi oluşturulur.
  • Bir SqlException özel durumunun her örneği, gerçek sunucu hata bilgilerini içeren en az bir SqlError uyarısı içerir.
  • Windows Kimlik Doğrulaması (Tümleşik Güvenlik olarak da bilinir), verilere güvenli bir şekilde bağlanmak için önerilen yöntemdir.
  • Hassas bilgiler içeren bağlantı dizelerini uygulama yapılandırma dosyasında saklayın ve hassas bilgiler içeren tüm yapılandırmaları şifreleyin.