See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 63300|Vastuse: 7

[.NET tuum] ADO.NET Loo SqlConnection ühenduse bassein ObjectPooli kaudu

[Kopeeri link]
Postitatud 2020-4-19 18:51:31 | | | |
ObjectPool on Microsofti uus funktsioon, Microsoft aitab meil hallata mõningaid objekte, mida saab taaskasutada.

Lihtsalt öeldes, sarnaselt jagatud jalgratastele, kui skaneerid koodi, et see avada, tähendab sõiduk, et see on hõivatud, kui sa seda kasutad, kui auto lukustad, vabastab sõiduk ruumi. Need hõivused ja vabastamised on kõik platvormi poolt meie jaoks hooldatud.

Mõned objektid ei ole niidikindlad, kuid iga kord, kui me objekti instantsime, peame tarbima mõningaid ressursse.

Object Pooli üksikasjalik selgitus .NET Core'is
https://www.itsvse.com/thread-9152-1-1.html
(Allikas: Architect_Programmer)
Esmalt loome uue SqlConnectionPooledObjectPolicy klassi, mis pärib IPooledObjectPolicy <T>liidese ja peab rakendama selle kahte meetodit.

Kuidas objekti Create meetodis instantsierida,Return näitab, kas objekti saab veel uuesti kasutada, ja kui false tagastatakse, kustutatakse objekt objektide basseinist.

Testi lähtekood on järgmine:

Testitulemused on järgmised:



On näha, et ühenduse bassein on esimesel 10 päringul veidi aeglasem ning pärast seda on see kiirem kui iga SqlConnectioni instantsiatsioon.

Lisatud on lähtekood

Turistid, kui soovite näha selle postituse peidetud sisu, palunVastuse






Eelmine:C# programmid viivad läbi aeganõudvaid testklasse
Järgmine:MSSQL Trusted_Connection konfiguratsioon
Postitatud 2020-4-19 21:58:46 |
See on midagi uut
Postitatud 2020-4-30 13:05:18 |
Tule ja vaata, tugi, diivan
 Üürileandja| Postitatud 2021-3-22 15:31:43 |
DefaultObjectPoolProvider lähtekood
MaximumRetained vaikekeskkond.ProcessorCount * 2;





 Üürileandja| Postitatud 2021-3-22 15:34:51 |
 Üürileandja| Postitatud 2021-3-23 09:50:57 |
Testkood:

maximumRetained on seatud väärtusele 5 ning test käivitatakse ainult üks kord, kui seda iga kord kasutatakse, nagu näidatud alloleval joonisel:



Kui test ei tagastata, käivitatakse Test 10 korda, kuigi see ületab maksimaalse 5 säilitatud seadistuse, ja erandit ei tee, võib juhtuda, et pärast kasutuse lõppu taaskasutatakse seda aeglaselt ja siis hoitakse ainult 5 korda:


 Üürileandja| Postitatud 2021-3-24 18:23:44 |
SQL Serveri ühendusbassein (ADO.NET)

Iga kord, kui kasutaja kutsub ühendusel avatud, otsib basseini protsess basseinis saadaolevaid ühendusi. Kui basseiniühendus on saadaval, tagastatakse see helistajale, selle asemel et avada uut ühendust. Kui rakendus kutsub sellel ühendusel Sulge, tagastab basseini protsess ühenduse aktiivse ühenduse komplekti, selle asemel et ühendus sulgeda.

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

Postitatud 2021-8-17 10:13:07 |
Õpi õppima
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com