Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 63300|Odgovoriti: 7

[.NET Core] ADO.NET Ustvarite SqlConnection povezovalni bazen preko ObjectPool

[Kopiraj povezavo]
Objavljeno 19. 4. 2020 ob 18:51:31 | | | |
ObjectPool je nova funkcija podjetja Microsoft, Microsoft nam pomaga vzdrževati nekatere objekte, ki jih je mogoče ponovno uporabiti.

Preprosto povedano, podobno kot pri skupnih kolesih, ko ga uporabljate, skenirajte kodo za odklepanje, vozilo pomeni, da je zasedeno, ko ga uporabljate, ko zaklenete avto, vozilo sprosti zasedbo. Te okupacije in izpustitve so za nas vse vzdrževane na platformi.

Nekateri objekti niso niti varni, vendar vsakič, ko instanciramo objekt, moramo porabiti nekaj virov.

Podrobna razlaga objektnega bazena v .NET Core
https://www.itsvse.com/thread-9152-1-1.html
(Vir: Architect_Programmer)
Najprej ustvarimo nov razred SqlConnectionPooledObjectPolicy, ki podeduje vmesnik IPooledObjectPolicy <T>in mora implementirati svoji dve metodi.

Kako instancirati objekt v metodi Create,Return označuje, ali je objekt še vedno mogoče ponovno uporabiti, in ko je vrnjen ne, bo objekt izbrisan iz objektnega bazena.

Izvorna koda testa je naslednja:

Rezultati testa so naslednji:



Vidimo lahko, da je bazen povezav nekoliko počasnejši pri prvih 10 poizvedbah, nato pa je hitrejši od vsake instance SqlConnection.

Priložena je izvorna koda

Turisti, če želite videti skrito vsebino te objave, prosimOdgovoriti






Prejšnji:C# programi izvajajo časovno potratne testne razrede
Naslednji:MSSQL Trusted_Connection konfiguracija
Objavljeno 19. 4. 2020 ob 21:58:46 |
To je nekaj novega
Objavljeno 30. 4. 2020 ob 13:05:18 |
Pridi pogledat, podpora, kavč
 Najemodajalec| Objavljeno 22. 3. 2021 ob 15:31:43 |
Izvorna koda DefaultObjectPoolProvider
MaksimalnoOhranjeno privzeto okolje.Število procesorjev * 2;





 Najemodajalec| Objavljeno 22. 3. 2021 ob 15:34:51 |
Pisati ga je mogoče tudi neposredno


 Najemodajalec| Objavljeno 23. 3. 2021 09:50:57 |
Testna koda:

maximumRetained je nastavljen na 5, test pa se sproži le enkrat, ko se vrne vsakič, ko se uporabi, kot je prikazano na spodnji sliki:



V primeru, da se test ne vrne, se instancira 10-krat, čeprav preseže maksimalno zadržano nastavitev 5 in ne bo vrgel izjeme, lahko se zgodi, da se po končani uporabi postopek počasi reciklira, nato pa ostane le 5 primerkov:


 Najemodajalec| Objavljeno 24. 3. 2021 ob 18:23:44 |
SQL Server Connection Pool (ADO.NET)

Kadarkoli uporabnik pokliče odprto povezavo, proces sklada išče povezave, ki so na voljo v skladu. Če je povezava z bazenom na voljo, se ta vrne klicatelju namesto da bi se vzpostavila nova povezava. Ko aplikacija kliče Close na tej povezavi, proces bazena vrne povezavo v aktivni nabor povezav namesto da bi jo zaprl.

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

Objavljeno 17. 8. 2021 ob 10:13:07 |
Uči se učiti
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com