Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 63300|Svare: 7

[.NET Core] ADO.NET Opprett en SqlConnection-tilkoblingspool via ObjectPool

[Kopier lenke]
Publisert 19.04.2020 kl. 18:51:31 | | | |
ObjectPool er en ny funksjon fra Microsoft, Microsoft hjelper oss med å vedlikeholde noen objekter som kan gjenbrukes.

For å si det enkelt, på samme måte som delte sykler, når du bruker den, skanner koden for å låse den opp, betyr kjøretøyet at det er opptatt, når du bruker det, når du låser bilen, vil kjøretøyet slippe ut personen. Disse okkupasjonene og frigivelsene vedlikeholdes alle av plattformen for oss.

Noen objekter er ikke trådsikre, men hver gang vi instansierer objektet, må vi bruke noen ressurser.

Detaljert forklaring av Object Pool i .NET Core
https://www.itsvse.com/thread-9152-1-1.html
(Kilde: Architect_Programmer)
Først oppretter vi en ny SqlConnectionPooledObjectPolicy-klasse som arver IPooledObjectPolicy-grensesnittet<T>, og må implementere de to metodene.

Hvordan instansiere objektet i Create-metoden,Return indikerer om objektet fortsatt kan gjenbrukes, og når false returneres, vil objektet bli slettet fra objektpoolen.

Testkildekoden er som følger:

Testresultatene er som følger:



Det kan sees at tilkoblingspoolen er litt tregere ved de første 10 spørringene, og etter det er den raskere enn hver instansiering av SqlConnection.

Vedlagt er kildekoden

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare






Foregående:C#-programmer kjører tidkrevende testklasser
Neste:MSSQL Trusted_Connection konfigurasjon
Publisert 2020-4-19 21:58:46 |
Dette er noe nytt
Publisert 30.04.2020 kl. 13:05:18 |
Kom og se, støtte, sofa
 Vert| Publisert 22.03.2021 kl. 15:31:43 |
DefaultObjectPoolProvider-kildekode
MaximumRetained Default Environment.ProcessorCount * 2;





 Vert| Publisert 22.03.2021 kl. 15:34:51 |
Den kan også skrives direkte


 Vert| Publisert 23.03.2021 09:50:57 |
Testkode:

maximumRetained settes til 5, og testen instansieres kun én gang når den returneres hver gang den brukes, som vist i figuren nedenfor:



Hvis den ikke returnerer, instansieres testen 10 ganger, selv om den overstiger maksimumReholdt-innstillingen på 5, og den vil ikke kaste et unntak, det kan hende at etter at bruken er fullført, vil den sakte resirkulere den, og da vil bare 5 instanser beholdes:


 Vert| Publisert 24.03.2021 18:23:44 |
SQL Server tilkoblingspool (ADO.NET)

Hver gang en bruker kaller Open på en tilkobling, leter poolprosessen etter tilkoblingene som er tilgjengelige i poolen. Hvis en pool-tilkobling er tilgjengelig, returneres den til anroperen i stedet for å åpne en ny tilkobling. Når applikasjonen kaller Lukk på den forbindelsen, returnerer poolprosessen tilkoblingen til det aktive tilkoblingspoolsettet i stedet for å lukke forbindelsen.

https://docs.microsoft.com/zh-cn ... -connection-pooling

Publisert 17.08.2021 10:13:07 |
Lær å lære
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com