Tilkoblingspool – utvikling av mobilapplikasjoner, webtjenester, SOA-arkitektur – Teknologi
Hopp til innholdet

Connection pooling - utvikling av mobilapper, webtjenester, SOA-arkitektur

Annonser

Hva er tilkoblingspooling?

Tilkoblingspooling tillater gjenbruk av eksisterende tilkoblinger for å redusere kostnadene ved å kontinuerlig opprette og droppe tilkoblinger som har samme konfigurasjon. Med andre ord, åpning og lukking av tilkoblinger som bruker samme tilkoblingsstreng og legitimasjon kan gjenbruke en tilgjengelig tilkobling i bassenget. Typiske applikasjoner bruker de samme tilkoblingsobjektene for kontinuerlig å hente og oppdatere data fra en database. Tilkoblingspooling gir et mye høyere ytelsesnivå ved å eliminere behovet for at databasen hele tiden oppretter og dropper tilkoblinger. Tilkoblingspooler er atskilt etter prosess, applikasjonsdomene og tilkoblingsstreng. For tilkoblingsstrenger som bruker integrert sikkerhet, opprettes det et eget basseng for hver unike identitet.

Kontrollere alternativer for tilkoblingspooling

Tilkoblingspooling er slått på som standard når du oppretter ADO.NET-tilkoblingsobjekter. Du kan kontrollere oppførsel for tilkoblingspooling (eller deaktivere tilkoblingspooling helt) ved å angi spesifikke tilkoblingsstrengnøkkelord for tilkoblingspooling. For å spesifikt deaktivere tilkoblingspooling, sett for eksempel Pooling=False i tilkoblingsstrengen. Tabell 5-7 gir en liste over koblingsstrengnøkkelord som kan brukes til å kontrollere hvordan en spesifikk tilkobling samhandler med tilkoblingspoolen. Ikke alle søkeord er tilgjengelige for alle leverandører. For eksempel sporer OLE DB-leverandøren tilkoblingspooling (også kjent som ressurssamling eller økter) basert på verdien satt for OLE DB Services-nøkkelordet i tilkoblingsstrengen.

Tabell tilkobling Pool tilkoblingsstrengI tillegg til tilkoblingsstrengegenskapene som kontrollerer tilkoblingspooloppførsel, er det også tilgjengelige metoder på tilkoblingsobjekter som også kan påvirke tilkoblingspooling. De tilgjengelige metodene brukes vanligvis når du lukker tilkoblinger i applikasjonen og du vet at de ikke vil bli brukt igjen. Dette rydder opp i tilkoblingsbassenget ved å kaste tilkoblinger i stedet for å returnere dem til bassenget når de er lukket. Eventuelle tilkoblinger som allerede er i bassenget og åpne vil bli forkastet neste gang de lukkes. Tabell 5-8 viser metodene som er tilgjengelige for samhandling med tilkoblingspooler.

Konfigurere tilkoblinger for å bruke tilkoblingspooling

Som standard har alle .NET Framework-dataleverandører tilgjengelig i ADO.NET tilkoblingspooling aktivert, men kontrollnivået som er tilgjengelig for arbeid med tilkoblingspooling varierer avhengig av leverandøren som brukes.

Konfigurere tilkoblingspooling med SQL Server-tilkoblinger

Som standard bruker SqlConnection-objektet automatisk tilkoblingspooling. Hver gang du ringer Sqlconnection. Åpnes med en unik tilkoblingsstreng, opprettes en ny pool. Kontroller atferden for tilkoblingspooling ved å angi tilkoblingspoolnøkkelord i tilkoblingsstrengen som beskrevet tidligere i Tabell 5-7. Tenk for eksempel på en tilkobling der du vil angi minimumsbassengstørrelsen. Ved å tilordne en verdi større enn null til nøkkelordet Mîn Pool Size, sikrer du at bassenget ikke blir ødelagt før applikasjonen avsluttes. For å sette minimumsbassengstørrelsen til 5, bruk en tilkoblingsstreng som ligner på følgende:

Datakilde=SqlServerName;Initial Catalog=Databasenavn; Integrert sikkerhet=True;Minimum bassengstørrelse=5

Minimumspoolstørrelsen er 0 som standard, noe som betyr at hver tilkobling må opprettes og initialiseres som forespurt, øker minimumspoolstørrelsen i tilkoblingsstrengen, det angitte antallet tilkoblinger er opprettet og klar til bruk, noe som kan redusere tiden det tar å etablere forbindelsen på disse første forbindelsene.

Konfigurere Connection Pooling med Oracle Connections

Tilkoblinger som bruker .NET Framework Data Provider for Oracle bruker automatisk tilkoblingspooling som standard. Du kan kontrollere hvordan tilkoblingen bruker pooling ved å angi nøkkelord for tilkoblingsstreng. Tabell 5-10 viser koblingsstrengnøkkelordene som er tilgjengelige for å endre tilkoblingsgrupperingsaktiviteter.

Håndtering av tilkoblingsfeil

Når SQL Server returnerer en advarsel eller feil, oppretter og kaster .NET Framework Data Provider for SQL Server en SqlException som du kan fange opp i programmet for å håndtere problemet. Når SqlException blir kastet, inspiser egenskapen SqlException.Errors for å få tilgang til samlingen av feil som returneres fra SQL-serveren. SqlException.Errors-egenskapen er en SqlErrorCollection-klasse (en samling av SqlError-klasser) som alltid inneholder minst ett SqlError-objekt.

MER INFORMASJON SQL Server-feil

SqlConnection vil forbli åpen for meldinger med et alvorlighetsnivå på 19 eller mindre, men vil normalt lukkes automatisk når alvorlighetsgraden er 20 eller høyere.

Sammendrag

  • Tilkoblingspooling er aktivert som standard.
  • Alternativer for tilkoblingspooling er definert i tilkoblingsstrengen, bortsett fra ODBC-leverandøren, som bruker ODBC-datakildeadministratordialogen på Windows.
  • Et SqlException-objekt opprettes når en feil oppdages på SQL-serveren.
  • Hver forekomst av et SqlException-unntak inneholder minst én SqlError-advarsel som inneholder den faktiske serverfeilinformasjonen.
  • Windows-autentisering (også kalt integrert sikkerhet) er den foreslåtte metoden for sikker tilkobling til data.
  • Lagre tilkoblingsstrenger som inneholder sensitiv informasjon i programmets konfigurasjonsfil og krypter alle innstillinger som inneholder sensitiv informasjon.