Pula połączeń – tworzenie aplikacji mobilnych, usługi sieciowe, architektura SOA - Technologia
Przejdź do treści

Pooling połączeń - tworzenie aplikacji mobilnych, usługi webowe, architektura SOA

Reklamy

Co to jest pula połączeń?

Pule połączeń umożliwiają ponowne wykorzystanie istniejących połączeń w celu zmniejszenia narzutu związanego z ciągłym tworzeniem i odrzucaniem połączeń o tej samej konfiguracji. Innymi słowy, otwieranie i zamykanie połączeń korzystających z tych samych parametrów połączenia i poświadczeń może ponownie wykorzystać połączenie dostępne w puli. Typowe aplikacje używają tych samych obiektów połączeń do ciągłego pobierania i aktualizowania danych z bazy danych. Pule połączeń zapewniają znacznie wyższy poziom wydajności, eliminując konieczność ciągłego tworzenia i zrywania połączeń przez bazę danych. Pule połączeń są rozdzielone według procesu, domeny aplikacji i parametrów połączenia. W przypadku parametrów połączenia korzystających ze zintegrowanych zabezpieczeń dla każdej unikatowej tożsamości tworzona jest oddzielna pula.

Kontrolowanie opcji puli połączeń

Pule połączeń są domyślnie włączone podczas tworzenia obiektów połączeń ADO.NET. Możesz kontrolować zachowanie puli połączeń (lub całkowicie wyłączyć pulę połączeń), ustawiając określone słowa kluczowe parametrów połączenia dla puli połączeń. Na przykład, aby konkretnie wyłączyć buforowanie połączeń, ustaw Pooling=False w parametrach połączenia. Tabela 5-7 zawiera listę słów kluczowych parametrów połączenia, których można użyć do kontrolowania interakcji określonego połączenia z pulą połączeń. Nie wszystkie słowa kluczowe są dostępne dla wszystkich dostawców. Na przykład dostawca OLE DB śledzi pule połączeń (znane również jako pule zasobów lub sesje) na podstawie wartości ustawionej dla słowa kluczowego usług OLE DB w parametrach połączenia.

Parametry połączenia puli połączeń tabeliOprócz właściwości parametrów połączenia, które kontrolują zachowanie puli połączeń, dostępne są również metody dla obiektów połączeń, które również mogą wpływać na pule połączeń. Dostępne metody są zwykle używane, gdy zamykasz połączenia w swojej aplikacji i wiesz, że nie zostaną ponownie użyte. Spowoduje to wyczyszczenie puli połączeń przez odrzucenie połączeń zamiast zwracania ich do puli po ich zamknięciu. Wszelkie połączenia, które są już w puli i są otwarte, zostaną odrzucone przy następnym zamknięciu. Tabela 5-8 zawiera listę dostępnych metod interakcji z pulami połączeń.

Konfigurowanie połączeń do korzystania z puli połączeń

Domyślnie wszyscy dostawcy danych .NET Framework dostępni w ADO.NET mają włączoną pulę połączeń, ale poziom kontroli dostępny do pracy z pulą połączeń różni się w zależności od używanego dostawcy.

Konfigurowanie puli połączeń z połączeniami programu SQL Server

Domyślnie obiekt SqlConnection automatycznie używa puli połączeń. Za każdym razem, gdy wywołujesz Sqlconnection.Open z unikatowymi parametrami połączenia, tworzona jest nowa pula. Kontroluj zachowanie puli połączeń, ustawiając słowa kluczowe puli połączeń w parametrach połączenia, jak opisano wcześniej w tabeli 5-7. Rozważmy na przykład połączenie, w którym chcesz ustawić minimalny rozmiar puli. Przypisując wartość większą od zera do słowa kluczowego Rozmiar puli Mîn, zapewniasz, że pula nie zostanie zniszczona do momentu zakończenia działania aplikacji. Aby ustawić minimalny rozmiar puli na 5, użyj ciągu połączenia podobnego do następującego:

Data Source=SqlServerName;Initial Catalog=DatabaseName; Integrated security=True;Minimalny rozmiar puli=5

Minimalny rozmiar puli domyślnie wynosi 0, co oznacza, że każde połączenie musi zostać utworzone i zainicjowane zgodnie z żądaniem, zwiększając minimalny rozmiar puli w ciągu połączenia, wskazana liczba połączeń jest tworzona i gotowa do użycia, co może skrócić czas potrzebne do ustanowienia połączenia na tych początkowych połączeniach.

Konfigurowanie puli połączeń z Oracle Connections

Połączenia korzystające z .NET Framework Data Provider for Oracle automatycznie korzystają z puli połączeń domyślnie. Możesz kontrolować, w jaki sposób połączenie korzysta z puli, ustawiając słowa kluczowe parametrów połączenia. Tabela 5-10 zawiera szczegółowe informacje na temat parametrów parametrów połączenia dostępnych do modyfikowania działań puli połączeń.

Obsługa błędów połączenia

Gdy SQL Server zwraca ostrzeżenie lub błąd, dostawca danych .NET Framework dla SQL Server tworzy i zgłasza wyjątek SqlException, który można przechwycić w aplikacji, aby obsłużyć problem. Po zgłoszeniu wyjątku SqlException sprawdź właściwość SqlException.Errors, aby uzyskać dostęp do kolekcji błędów zwracanych z serwera SQL. Właściwość SqlException.Errors to klasa SqlErrorCollection (kolekcja klas SqlError), która zawsze zawiera co najmniej jeden obiekt SqlError.

Więcej informacji Błędy programu SQL Server

SqlConnection pozostanie otwarty dla komunikatów o poziomie istotności 19 lub mniejszym, ale zwykle zostanie automatycznie zamknięty, gdy ważność wynosi 20 lub więcej.

Streszczenie

  • Pule połączeń są domyślnie włączone.
  • Opcje puli połączeń są zdefiniowane w parametrach połączenia, z wyjątkiem dostawcy ODBC, który korzysta z okna dialogowego Administrator źródeł danych ODBC w systemie Windows.
  • Obiekt SqlException jest tworzony po wykryciu błędu na serwerze SQL.
  • Każde wystąpienie wyjątku SqlException zawiera co najmniej jedno ostrzeżenie SqlError, które zawiera rzeczywiste informacje o błędzie serwera.
  • Uwierzytelnianie systemu Windows (zwane także zintegrowanymi zabezpieczeniami) to sugerowana metoda bezpiecznego łączenia się z danymi.
  • Przechowuj ciągi połączeń, które zawierają poufne informacje, w pliku konfiguracyjnym aplikacji i szyfruj wszystkie ustawienia, które zawierają poufne informacje.