Connection Pooling – mobilalkalmazás-fejlesztés, webszolgáltatások, SOA architektúra – technológia
Ugrás a tartalomra

Connection pooling – mobilalkalmazás-fejlesztés, webszolgáltatások, SOA architektúra

Reklámok

Mi az a kapcsolat pooling?

A kapcsolatkészletezés lehetővé teszi a meglévő kapcsolatok újrafelhasználását, hogy csökkentse az azonos konfigurációjú kapcsolatok folyamatos létrehozásának és megszakításának többletköltségét. Más szavakkal, az ugyanazt a kapcsolati karakterláncot és hitelesítő adatokat használó kapcsolatok megnyitása és bezárása újra felhasználhatja a készletben rendelkezésre álló kapcsolatot. A tipikus alkalmazások ugyanazokat a kapcsolati objektumokat használják az adatok folyamatos lekérésére és frissítésére egy adatbázisból. A kapcsolatkészletezés sokkal magasabb szintű teljesítményt biztosít azáltal, hogy nincs szükség az adatbázisnak folyamatos kapcsolatok létrehozására és megszakítására. A kapcsolatkészleteket folyamat, alkalmazástartomány és kapcsolati karakterlánc választja el. Az integrált biztonságot használó kapcsolati karakterláncok esetében minden egyedi identitáshoz külön készlet jön létre.

Kapcsolat pooling opciók vezérlése

A kapcsolatkészletezés alapértelmezés szerint be van kapcsolva az ADO.NET kapcsolati objektumok létrehozásakor. A kapcsolatkészletezési viselkedést szabályozhatja (vagy teljesen letilthatja a kapcsolatkészletezést), ha meghatározott kapcsolati karakterlánc-kulcsszavakat állít be a kapcsolatkészletezéshez. Például a kapcsolatkészletezés kifejezetten letiltásához állítsa be a Pooling=False értéket a kapcsolati karakterláncban. Az 5-7. táblázat a kapcsolati karakterlánc-kulcsszavak listáját tartalmazza, amelyek segítségével szabályozható, hogy egy adott kapcsolat hogyan kommunikáljon a kapcsolatkészlettel. Nem minden kulcsszó érhető el minden szolgáltatónál. Például az OLE DB szolgáltató nyomon követi a kapcsolatkészletezést (más néven erőforrás-készletezést vagy munkameneteket) a kapcsolati karakterláncban az OLE DB Services kulcsszóhoz beállított érték alapján.

Táblázat csatlakozási készlet kapcsolati karakterláncA kapcsolatkészletezési viselkedést szabályozó kapcsolati karakterlánc-tulajdonságokon kívül a kapcsolati objektumokon olyan módszerek is elérhetők, amelyek szintén befolyásolhatják a kapcsolatkészletezést. Az elérhető módszerek általában akkor használatosak, amikor az alkalmazásban lévő kapcsolatokat lezárja, és tudja, hogy nem fogják újra használni. Ez megtisztítja a kapcsolatkészletet azáltal, hogy eldobja a kapcsolatokat, ahelyett, hogy visszaküldené őket a készletbe, amikor zárva vannak. Minden olyan kapcsolat, amely már a medencében van és nyitva van, a következő bezáráskor el lesz vetve. Az 5-8. táblázat felsorolja a kapcsolatkészletekkel való interakcióhoz rendelkezésre álló módszereket.

Kapcsolatok konfigurálása a Connection Pooling használatához

Alapértelmezés szerint az ADO.NET-ben elérhető összes .NET-keretrendszer-adatszolgáltatónál engedélyezve van a kapcsolatkészletezés, de a kapcsolatkészlet-kezeléshez rendelkezésre álló vezérlési szint a használt szolgáltatótól függően változik.

Connection Pooling konfigurálása SQL Server-kapcsolatokkal

Alapértelmezés szerint az SqlConnection objektum automatikusan kapcsolatkészletezést használ. Minden alkalommal, amikor meghívja az Sqlconnection.Open egyedi kapcsolati karakterláncot, egy új készlet jön létre. A kapcsolattárolási viselkedés szabályozása a kapcsolatkészlet kulcsszavainak beállításával a kapcsolati karakterláncban az 5-7. táblázatban leírtak szerint. Vegyünk például egy kapcsolatot, ahol be kívánjuk állítani a minimális medenceméretet. Ha nullánál nagyobb értéket rendel a Minimális készletméret kulcsszóhoz, biztosítja, hogy a készlet ne semmisüljön meg az alkalmazás leállásáig. A minimális medenceméret 5-re állításához használjon a következőhöz hasonló kapcsolódási karakterláncot:

Adatforrás=SqlServerName;Kezdeti katalógus=Adatbázisnév; Integrált biztonság=True;Minimális medenceméret=5

A minimális készletméret alapértelmezés szerint 0, ami azt jelenti, hogy minden kapcsolatot létre kell hozni és a kérés szerint inicializálni kell, növelve a minimális készletméretet a kapcsolati karakterláncban, a jelzett számú kapcsolatok létrejönnek és használatra készek, ami csökkentheti az időt szükséges a kapcsolat létrehozása ezeken a kezdeti kapcsolatokon.

A Connection Pooling konfigurálása az Oracle Connections segítségével

A .NET Framework Data Provider for Oracle-t használó kapcsolatok alapértelmezés szerint automatikusan a kapcsolatkészletezést használják. A kapcsolati karakterlánc kulcsszavainak megadásával szabályozhatja, hogy a kapcsolat hogyan használja a pooling-et. Az 5-10. táblázat részletezi a kapcsolatkészletezési tevékenységek megváltoztatásához elérhető kapcsolati karakterlánc kulcsszavakat.

Csatlakozási hiba kezelése

Amikor az SQL Server figyelmeztetést vagy hibát ad vissza, a .NET Framework Data Provider for SQL Server létrehoz egy SqlException kivételt, amelyet az alkalmazásban elkaphat a probléma kezelésére. Az SqlException kidobásakor ellenőrizze az SqlException.Errors tulajdonságot, hogy hozzáférjen az SQL-kiszolgálóról visszaküldött hibagyűjteményhez. Az SqlException.Errors tulajdonság egy SqlErrorCollection osztály (SqlError osztályok gyűjteménye), amely mindig tartalmaz legalább egy SqlError objektumot.

TOVÁBBI INFORMÁCIÓ SQL Server hibák

Az SqlConnection nyitva marad a 19-es vagy annál kisebb súlyosságú üzeneteknél, de általában automatikusan bezárul, ha a súlyosság 20 vagy annál nagyobb.

Összegzés

  • A kapcsolatkészletezés alapértelmezés szerint engedélyezve van.
  • A kapcsolatkészletezési beállítások a kapcsolati karakterláncban vannak megadva, kivéve az ODBC-szolgáltatót, amely az ODBC-adatforrás-rendszergazda párbeszédpanelt használja a Windows rendszeren.
  • Egy SqlException objektum akkor jön létre, ha hibát észlel az SQL szerveren.
  • Az SqlException kivétel minden egyes példánya legalább egy SqlError figyelmeztetést tartalmaz, amely tartalmazza a tényleges kiszolgálóhiba-információkat.
  • A Windows-hitelesítés (más néven integrált biztonság) a javasolt módszer az adatokhoz való biztonságos csatlakozáshoz.
  • Tárolja az érzékeny információkat tartalmazó kapcsolati karakterláncokat az alkalmazás konfigurációs fájljában, és titkosítsa az összes bizalmas információt tartalmazó beállítást.