Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 63300|Vastaus: 7

[.NET Core] ADO.NET Luo SqlConnection-yhteyspooli ObjectPoolin kautta

[Kopioi linkki]
Julkaistu 2020-4-19 klo 18:51:31 | | | |
ObjectPool on Microsoftin uusi ominaisuus, ja Microsoft auttaa meitä ylläpitämään joitakin uudelleenkäytettäviä objekteja.

Yksinkertaisesti sanottuna, samoin kuin jaetuissa polkupyörissä, kun käytät sitä, skannaa koodi avataksesi sen, ajoneuvo tarkoittaa, että se on varattu, kun käytät sitä, kun lukitset auton, ajoneuvo vapauttaa tilaa. Nämä miehitykset ja vapautukset ovat kaikki alustan ylläpitämiä puolestamme.

Jotkut objektit eivät ole säikeen turvassa, mutta joka kerta kun instanssimme esineen, meidän täytyy kuluttaa joitakin resursseja.

Yksityiskohtainen selitys Object Poolista .NET Coressa
https://www.itsvse.com/thread-9152-1-1.html
(Lähde: Architect_Programmer)
Ensiksi luomme uuden SqlConnectionPooledObjectPolicy-luokan, joka perii <T>IPooledObjectPolicy-rajapinnan ja tarvitsee toteuttaa sen kaksi menetelmää.

Kuinka instanssoida objekti Create-menetelmässä,Return kertoo, voidaanko objektia edelleen käyttää uudelleen, ja kun false palautetaan, objekti poistetaan objektipoolista.

Testin lähdekoodi on seuraava:

Testitulokset ovat seuraavat:



On nähtävissä, että yhteyspooli on hieman hitaampi ensimmäisten 10 kyselyn kohdalla, ja sen jälkeen se on nopeampi kuin jokainen SqlConnectionin instanssiointi.

Liitteenä on lähdekoodi

Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyväVastaus






Edellinen:C#-ohjelmat suorittavat aikaa vieviä testikursseja
Seuraava:MSSQL Trusted_Connection konfiguraatio
Julkaistu 2020-4-19 21:58:46 |
Tämä on jotain uutta
Julkaistu 2020-4-30 13:05:18 |
Tule katsomaan, tuki, sohva
 Vuokraisäntä| Julkaistu 2021-3-22 klo 15:31:43 |
DefaultObjectPoolProvider lähdekoodi
MaximumRetained Default Environment.ProcessorCount * 2;





 Vuokraisäntä| Julkaistu 2021-3-22 15:34:51 |
Se voidaan myös kirjoittaa suoraan


 Vuokraisäntä| Julkaistu 2021-3-23 09:50:57 |
Testikoodi:

maximumRetained on asetettu arvoon 5, ja testi käynnistetään vain kerran, kun se palautetaan joka kerta kun sitä käytetään, kuten alla olevassa kuvassa on esitetty:



Jos testi ei palautu, testi käynnistetään 10 kertaa, vaikka se ylittää maksimiretained-asetuksen 5, eikä se anna poikkeusta; voi olla, että käytön päätyttyä se kierrätetään hitaasti ja säilytetään vain 5 kertaa:


 Vuokraisäntä| Julkaistu 2021-3-24 18:23:44 |
SQL Server Connection Pool (ADO.NET)

Aina kun käyttäjä kutsuu Open-toimintoa yhteydellä, pooliprosessi etsii altaan käytettävissä olevia yhteyksiä. Jos pooliyhteys on saatavilla, se palautetaan soittajalle uuden yhteyden avaamisen sijaan. Kun sovellus kutsuu Close-toimintoa kyseisellä yhteydellä, pooliprosessi palauttaa yhteyden aktiiviseen yhteyspoolin joukkoon sen sijaan, että sulkisi yhteyden.

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

Julkaistu 2021-8-17 10:13:07 |
Opettele oppimaan
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com