Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 63300|Svar: 7

[.NET Core] ADO.NET Skapa en SqlConnection-anslutningspool via ObjectPool

[Kopiera länk]
Publicerad den 2020-4-19 18:51:31 | | | |
ObjectPool är en ny funktion från Microsoft, Microsoft hjälper oss att underhålla vissa objekt som kan återanvändas.

Enkelt uttryckt, likt delade cyklar, när du använder den, skannar koden för att låsa upp den, fordonet betyder att det är upptaget, när du använder det, när du låser bilen, släpper fordonet besättningen. Dessa ockupationer och frigivelser underhålls alla av plattformen åt oss.

Vissa objekt är inte trådsäkra, men varje gång vi instansierar objektet måste vi använda vissa resurser.

Detaljerad förklaring av objektpoolen i .NET Core
https://www.itsvse.com/thread-9152-1-1.html
(Källa: Architect_Programmer)
Först skapar vi en ny SqlConnectionPooledObjectPolicy-klass som ärver <T>IPooledObjectPolicy-gränssnittet och behöver implementera dess två metoder.

Hur man instansierar objektet i Create-metoden,Return anger om objektet fortfarande kan återanvändas, och när false returneras kommer objektet att tas bort från objektpoolen.

Testkällkoden är som följer:

Testresultaten är följande:



Det kan ses att anslutningspoolen är lite långsammare vid de första 10 frågorna, och efter det är den snabbare än varje instansiering av SqlConnection.

Bifogat är källkoden

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar






Föregående:C#-program kör tidskrävande testklasser
Nästa:MSSQL Trusted_Connection konfiguration
Publicerad den 2020-4-19 21:58:46 |
Det här är något nytt
Publicerad den 2020-4-30 13:05:18 |
Kom och se, support, soffa
 Hyresvärd| Publicerad den 22 februari 2021 15:31:43 |
DefaultObjectPoolProvider-källkod
MaximumRetained standardmiljö.ProcessorCount * 2;





 Hyresvärd| Publicerad den 2021-3-22 15:34:51 |
Den kan också skrivas direkt


 Hyresvärd| Publicerad den 2021-3-23 09:50:57 |
Testkod:

maximumRetained är satt till 5, och testet instansieras endast en gång när det returneras varje gång det används, som visas i figuren nedan:



Om testet inte återvänder instansieras 10 gånger, även om det överskrider maxtidsinställningen på 5, och det kommer inte att kasta något undantag, det kan vara så att efter att användningen är slutförd återvinner den långsamt, och då behålls endast 5 instanser:


 Hyresvärd| Publicerad 2021-3-24 18:23:44 |
SQL Server Connection Pool (ADO.NET)

När en användare anropar Open på en anslutning letar poolprocessen efter de anslutningar som finns tillgängliga i poolen. Om en poolanslutning är tillgänglig returneras den till uppringaren istället för att öppna en ny anslutning. När applikationen anropar Stäng på den anslutningen, returnerar poolprocessen anslutningen till den aktiva anslutningspoolen istället för att stänga anslutningen.

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

Publicerad den 2021-8-17 10:13:07 |
Lär dig att lära dig
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com