Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 63300|Atsakyti: 7

[.NET branduolys] ADO.NET "SqlConnection" ryšių telkinio kūrimas naudojant "ObjectPool"

[Kopijuoti nuorodą]
Publikuota: 2020-4-19 18:51:31 | | | |
"ObjectPool" yra nauja "Microsoft" funkcija, "Microsoft" padeda mums prižiūrėti kai kuriuos objektus, kuriuos galima pakartotinai naudoti.

Paprasčiau tariant, panašiai kaip bendri dviračiai, kai juo naudojatės, nuskaitykite kodą, kad atrakintumėte, transporto priemonė reiškia, kad ji yra užimta, kai ja naudojatės, kai užrakinsite automobilį, transporto priemonė atlaisvins užimtumą. Visi šie užsiėmimai ir išleidimai yra prižiūrimi platformos.

Kai kurie objektai nėra saugūs sriegiams, tačiau kiekvieną kartą, kai sukuriame objektą, turime sunaudoti tam tikrus išteklius.

Išsamus ".NET Core" objektų telkinio paaiškinimas
https://www.itsvse.com/thread-9152-1-1.html
(Šaltinis: Architect_Programmer)
Pirmiausia sukuriame naują SqlConnectionPooledObjectPolicy klasę, kuri paveldi IPooledObjectPolicy <T>sąsają ir turi įdiegti du jos metodus.

Kaip sukurti objektą naudojant metodą Sukurti,Return nurodo, ar objektą vis dar galima naudoti pakartotinai, o grąžinus false, objektas bus panaikintas iš objektų telkinio.

Testo šaltinio kodas yra toks:

Bandymo rezultatai yra tokie:



Galima pastebėti, kad ryšių telkinys yra šiek tiek lėtesnis atliekant pirmąsias 10 užklausų, o po to jis yra greitesnis nei kiekvienas "SqlConnection" egzempliorius.

Pridedamas šaltinio kodas

Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašomeAtsakyti






Ankstesnis:C# programos vykdo daug laiko reikalaujančias testavimo klases
Kitą:MSSQL Trusted_Connection konfigūracija
Publikuota: 2020-4-19 21:58:46 |
Tai kažkas naujo
Publikuota: 2020-4-30 13:05:18 |
Ateikite ir pamatykite, palaikykite, sofa
 Savininkas| Publikuota: 2021-3-22 15:31:43 |
DefaultObjectPoolProvider šaltinio kodas
MaximumRetained numatytoji aplinka.ProcessorCount * 2;





 Savininkas| Publikuota: 2021-3-22 15:34:51 |
Jis taip pat gali būti parašytas tiesiogiai


 Savininkas| Paskelbta 2021-3-23 09:50:57 |
Bandymo kodas:

maximumRetained nustatytas į 5, o testas instanciuojamas tik vieną kartą, kai jis grąžinamas kiekvieną kartą, kai jis naudojamas, kaip parodyta paveikslėlyje žemiau:



Jei negrįžtama, testas instanciuojamas 10 kartų, nors jis viršija maksimalųIšlaikytą nustatymą 5, ir tai nebus išimtis, gali būti, kad baigus naudoti jis lėtai jį perdirbs, o tada bus išsaugoti tik 5 egzemplioriai:


 Savininkas| Publikuota: 2021-3-24 18:23:44 |
SQL serverio ryšių telkinys (ADO.NET)

Kai vartotojas iškviečia Atidaryti ryšyje, telkinio procesas ieško telkinyje esančių ryšių. Jei telkinio ryšys pasiekiamas, jis grąžinamas skambinančiajam, o ne atidaromas naujas ryšys. Kai programa iškviečia Uždaryti tą ryšį, telkinio procesas grąžina ryšį į aktyvų ryšių telkinio rinkinį, o ne uždaro ryšį.

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

Publikuota: 2021-8-17 10:13:07 |
Išmokite mokytis
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com