Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 63300|Atbildi: 7

[.NET kodols] ADO.NET SqlConnection savienojuma pūla izveide, izmantojot ObjectPool

[Kopēt saiti]
Publicēts 2020-4-19 18:51:31 | | | |
ObjectPool ir jauna Microsoft funkcija, Microsoft palīdz mums uzturēt dažus objektus, kurus var izmantot atkārtoti.

Vienkārši sakot, līdzīgi kā koplietošanas velosipēdi, kad to izmantojat, skenējiet kodu, lai to atbloķētu, transportlīdzeklis nozīmē, ka tas ir aizņemts, kad jūs to izmantojat, kad jūs aizslēdzat automašīnu, transportlīdzeklis atbrīvos noslogotību. Šīs okupācijas un atbrīvojumi tiek uzturēti platformā mums.

Daži objekti nav droši ar pavedieniem, bet katru reizi, kad mēs instancējam objektu, mums ir jāpatērē daži resursi.

Detalizēts skaidrojums par objektu pūlu .NET Core
https://www.itsvse.com/thread-9152-1-1.html
(Avots: Architect_Programmer)
Pirmkārt, mēs izveidojam jaunu SqlConnectionPooledObjectPolicy klasi, kas manto IPooledObjectPolicy <T>interfeisu un ir jāievieš tās divas metodes.

Kā instancēt objektu metodē Izveidot,Atgriešanās norāda, vai objektu joprojām var izmantot atkārtoti, un, ja tiek atgriezts false, objekts tiks izdzēsts no objektu pūla.

Testa avota kods ir šāds:

Testa rezultāti ir šādi:



Var redzēt, ka savienojuma baseins ir nedaudz lēnāks pirmajos 10 vaicājumos, un pēc tam tas ir ātrāks nekā katra SqlConnection instancēšana.

Pievienots avota kods

Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzuAtbildi






Iepriekšējo:C# programmas palaiž laikietilpīgas testa klases
Nākamo:MSSQL Trusted_Connection konfigurācija
Publicēts 2020-4-19 21:58:46 |
Tas ir kaut kas jauns
Publicēts 2020-4-30 13:05:18 |
Nāc un redzi, atbalsts, dīvāns
 Saimnieks| Publicēts 2021-3-22 15:31:43 |
DefaultObjectPoolProvider avota kods
MaximumRetained noklusējuma vide.ProcessorCount * 2;





 Saimnieks| Publicēts 2021-3-22 15:34:51 |
 Saimnieks| Publicēts 2021-3-23 09:50:57 |
Testa kods:

maximumRetained ir iestatīts uz 5, un tests tiek instancēts tikai vienu reizi, kad tas tiek atgriezts katru reizi, kad tas tiek izmantots, kā parādīts attēlā zemāk:



Neatgriežoties, tests tiek instancēts 10 reizes, lai gan tas pārsniedz maksimāloSaglabāto iestatījumu 5, un tas neizdarīs izņēmumu, var būt, ka pēc lietošanas pabeigšanas tas lēnām pārstrādās, un tad tiks saglabāti tikai 5 gadījumi:


 Saimnieks| Publicēts 2021-3-24 18:23:44 |
SQL Server savienojumu pūls (ADO.NET)

Ikreiz, kad lietotājs izsauc savienojumu Atvērt, pūla process meklē pūlā pieejamos savienojumus. Ja ir pieejams pūla savienojums, tas tiek atgriezts zvanītājam, nevis atver jaunu savienojumu. Kad lietojumprogramma izsauc Aizvērt šajā savienojumā, pūla process atgriež savienojumu ar aktīvo savienojumu pūla kopu, nevis slēdz savienojumu.

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

Publicēts 2021-8-17 10:13:07 |
Iemācieties mācīties
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com