HttpClient-luokka on sopivampi yksittäiskappaleeksi yksittäiselle sovellusalueelle. Tämä tarkoittaa, että singleton tulisi jakaa useille säilöluokille. Tällä taktiikalla saat yksittäisen, mutta tämä vaikeuttaa jakamista. HttpClient-luokka toteuttaa IDisposable-rajapinnan.
Pitäisikö meidän luoda uusi yksittäinen HttpClient-esiintymä kaikille pyynnöille?
Vaikka se toteuttaa IDisposable-rajapinnan, se on itse asiassa jaettu objekti. Tämä tarkoittaa, että peiton alla se on palaava ja lankaturvallinen. Sen sijaan, että luot uuden HttpClient-esiintymän jokaiselle suoritukselle, pitäisi jakaa yksi HttpClient-esiintymä sovelluksen koko käyttöiän ajan.
Pitäisikö sinun käyttää HttpClientiä uudelleen?
HttpClient on tarkoitettu instantioitavaksi kerran ja käytettäväksi uudelleen koko sovelluksen käyttöiän ajan. HttpClient-luokan luominen jokaiselle pyynnölle kuluttaa raskaan kuormituksen aikana käytettävissä olevien pistorasioiden määrän. Tämä johtaa SocketException-virheisiin.
Onko HttpClient hallitsematon?
Vaikka HttpClient toteuttaa epäsuorasti ID-kertakäyttöliittymän, HttpClientin vakiokäyttö ei ole sitä, että sitä hävitetään jokaisen pyynnön jälkeen. HttpClient-objektin on tarkoitus elää niin kauan kuin sovelluksesi tarvitsee tehdä
Onko HttpClient ketjuturvallinen?
HttpClient on täysin säikeen varma, kun käytetään säieturvallisen yhteydenhallinnan kanssa, kuten MultiThreadedHttpConnectionManager. … Samaan aikaan HttpClient-ilmentymä ja yhteydenhallinta tulisi jakaa kaikkien säikeiden kesken parhaan mahdollisen tehokkuuden saavuttamiseksi.