Anslutningspool – utveckling av mobilapplikationer, webbtjänster, SOA-arkitektur - Teknik
Hoppa till innehållet

Connection pooling - utveckling av mobilappar, webbtjänster, SOA-arkitektur

Annonser

Vad är anslutningspooling?

Anslutningspoolning tillåter återanvändning av befintliga anslutningar för att minska omkostnaderna för att kontinuerligt skapa och ta bort anslutningar som har samma konfiguration. Med andra ord kan öppna och stänga anslutningar som använder samma anslutningssträng och referenser återanvända en tillgänglig anslutning i poolen. Typiska applikationer använder samma anslutningsobjekt för att kontinuerligt hämta och uppdatera data från en databas. Anslutningspooling ger en mycket högre prestandanivå genom att eliminera behovet för databasen att ständigt skapa och släppa anslutningar. Anslutningspooler separeras av process, applikationsdomän och anslutningssträng. För anslutningssträngar som använder integrerad säkerhet skapas en separat pool för varje unik identitet.

Styra alternativ för anslutningspoolning

Anslutningspoolning är aktiverat som standard när du skapar ADO.NET-anslutningsobjekt. Du kan kontrollera beteendet för anslutningspoolning (eller inaktivera anslutningspooling helt) genom att ställa in specifika anslutningssträngsnyckelord för anslutningspoolning. Till exempel, för att specifikt inaktivera anslutningspoolning, ställ in Pooling=False i din anslutningssträng. Tabell 5-7 ger en lista över nyckelord för anslutningssträngar som kan användas för att styra hur en specifik anslutning interagerar med anslutningspoolen. Alla sökord är inte tillgängliga för alla leverantörer. Till exempel spårar OLE DB-leverantören anslutningspoolning (även känd som resurspooling eller sessioner) baserat på värdet som ställts in för nyckelordet OLE DB Services i anslutningssträngen.

Tabellanslutning PoolanslutningssträngFörutom anslutningssträngegenskaper som styr beteendet för anslutningspoolning, finns det också metoder tillgängliga på anslutningsobjekt som också kan påverka anslutningspoolning. De tillgängliga metoderna används vanligtvis när du stänger anslutningar i din applikation och du vet att de inte kommer att användas igen. Detta rensar upp anslutningspoolen genom att kassera anslutningar istället för att återföra dem till poolen när de är stängda. Alla anslutningar som redan finns i poolen och öppna kommer att kasseras nästa gång de stängs. Tabell 5-8 listar tillgängliga metoder för att interagera med anslutningspooler.

Konfigurera anslutningar för att använda Connection Pooling

Som standard har alla .NET Framework-dataleverantörer som är tillgängliga i ADO.NET anslutningspoolning aktiverad, men nivån på kontroll som är tillgänglig för att arbeta med anslutningspoolning varierar beroende på vilken leverantör som används.

Konfigurera anslutningspoolning med SQL Server-anslutningar

Som standard använder SqlConnection-objektet automatiskt anslutningspoolning. Varje gång du anropar Sqlconnection. Öppnas med en unik anslutningssträng skapas en ny pool. Kontrollera beteendet för anslutningspoolning genom att ange nyckelord för anslutningspool i anslutningssträngen som beskrivits tidigare i Tabell 5-7. Tänk till exempel på en anslutning där du vill ställa in minsta poolstorlek. Genom att tilldela ett värde större än noll till nyckelordet Mîn Pool Size säkerställer du att poolen inte förstörs förrän applikationen avslutas. För att ställa in den minsta poolstorleken till 5, använd en anslutningssträng som liknar följande:

Datakälla=SqlServerName;Initial Catalog=Databasnamn; Integrerad säkerhet=True;Minsta poolstorlek=5

Minsta poolstorlek är 0 som standard, vilket innebär att varje anslutning måste skapas och initieras enligt begäran, vilket ökar den minsta poolstorleken i anslutningssträngen, det angivna antalet anslutningar är skapade och klara att använda, vilket kan minska tiden det krävs för att upprätta anslutningen på dessa initiala anslutningar.

Konfigurera Connection Pooling med Oracle Connections

Anslutningar som använder .NET Framework Data Provider för Oracle använder automatiskt anslutningspoolning som standard. Du kan styra hur anslutningen använder pooling genom att ange nyckelord för anslutningssträngar. Tabell 5-10 beskriver nyckelord för anslutningssträngar som är tillgängliga för att ändra aktiviteter för anslutningspoolning.

Hantering av anslutningsfel

När SQL Server returnerar en varning eller ett fel, skapar .NET Framework Data Provider för SQL Server och skickar en SqlException som du kan fånga i din applikation för att hantera problemet. När SqlException kastas, inspektera egenskapen SqlException.Errors för att komma åt samlingen av fel som returneras från SQL-servern. Egenskapen SqlException.Errors är en SqlErrorCollection-klass (en samling av SqlError-klasser) som alltid innehåller minst ett SqlError-objekt.

MER INFORMATION SQL Server-fel

SqlConnection förblir öppen för meddelanden med en allvarlighetsgrad på 19 eller lägre, men stängs normalt automatiskt när allvarlighetsgraden är 20 eller högre.

Sammanfattning

  • Anslutningspoolning är aktiverad som standard.
  • Alternativ för anslutningspool definieras i anslutningssträngen, förutom ODBC-leverantören, som använder dialogrutan ODBC Data Source Administrator i Windows.
  • Ett SqlException-objekt skapas när ett fel upptäcks på SQL-servern.
  • Varje instans av ett SqlException-undantag innehåller minst en SqlError-varning som innehåller den faktiska serverfelinformationen.
  • Windows-autentisering (även kallad Integrated Security) är den föreslagna metoden för att säkert ansluta till data.
  • Lagra anslutningssträngar som innehåller känslig information i programmets konfigurationsfil och kryptera alla inställningar som innehåller känslig information.