Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 63300|Válasz: 7

[.NET mag] ADO.NET Létrehozni egy SqlConnection kapcsolati poolt az ObjectPoolon keresztül

[Linket másol]
Közzétéve: 2020-4-19 18:51:31 | | | |
Az ObjectPool egy új funkció a Microsofttól, a Microsoft segít karbantartani néhány újrahasznosítható objektumot.

Egyszerűen fogalmazva, hasonlóan a közös kerékpárokhoz, amikor használod, szkenneld be a kódot a kioldáshoz, a jármű azt jelenti, hogy foglalt, amikor használod, és bezárod az autót, a jármű elengedi a beszállást. Ezeket a foglalásokat és szabadon bocsátásokat mind a platform tartja fenn számunkra.

Néhány objektum nem szálbiztonságos, de minden alkalommal, amikor megvalósítjuk az objektumot, szükségünk van némi erőforrásra.

Részletes magyarázat az Object Pool leírásáról a .NET Core-ban
https://www.itsvse.com/thread-9152-1-1.html
(Forrás: Architect_Programmer)
Először létrehozunk egy új SqlConnectionPooledObjectPolicy osztályt, amely az IPooledObjectPolicy <T>interfészt örökli, és meg kell valósítania annak két módszerét.

Hogyan lehet megjeleníteni az objektumot a Létrehozó módszerben,A return jelzi, hogy az objektum még használható-e újra, és ha hamis jelenik meg, az objektum törlődik az objektum poolból.

A tesztforráskód a következő:

A teszteredmények a következők:



Látható, hogy a kapcsolati pool az első 10 lekérdezésnél kicsit lassabb, majd utána gyorsabb, mint minden SqlConnection megalkotása.

Csatolva van a forráskód

Turisták, ha szeretnétek megnézni ennek a bejegyzésnek a rejtett tartalmát, kérlekVálasz






Előző:A C# programok időigényes tesztórákat futtatnak
Következő:MSSQL Trusted_Connection konfiguráció
Közzétéve: 2020-4-19 21:58:46 |
Ez valami új
Közzétéve: 2020-4-30 13:05:18 |
Gyere és nézd meg, támogatás, kanapé
 Háziúr| Közzétéve: 2021-3-22 15:31:43 |
DefaultObjectPoolProvider forráskód
MaximumRetained alapértelmezett környezet.ProcessorCount * 2;





 Háziúr| Közzétéve: 2021-3-22 15:34:51 |
 Háziúr| Közzétéve: 2021-3-23 09:50:57 |
Tesztkód:

a maximumRetained 5-re van beállítva, és a teszt csak egyszer indul el, amikor minden használatkor visszaadják, ahogy az alábbi ábrán látható:



Ha nem tér vissza, a tesztet 10-szer indítják el, bár meghaladja a maximális 5-ös megmaradt beállítást, és nem ad kivételt, előfordulhat, hogy a használat befejezése után lassan újrahasznosítja, és csak 5 példányt tart meg:


 Háziúr| Közzétéve: 2021-3-24 18:23:44 |
SQL Server Connection Pool (ADO.NET)

Amikor egy felhasználó egy csatlakozáson Megnyit gombot hív, a poolfolyamat megkeresi a poolban elérhető kapcsolatokat. Ha elérhető a medencekapcsolat, azt visszaküldik a hívónak, nem új kapcsolatot nyitnának. Amikor az alkalmazás behívja a Close gombot ezen a kapcsolaton, a poolfolyamat visszaadja a kapcsolatot az aktív kapcsolati pool készletbe a kapcsolat zárása helyett.

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

Közzétéve: 2021-08-17 10:13:07 |
Tanulj meg
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com