Logo lv.boatexistence.com

Vai httpclient ir pārejošs vai vienreizējs?

Satura rādītājs:

Vai httpclient ir pārejošs vai vienreizējs?
Vai httpclient ir pārejošs vai vienreizējs?

Video: Vai httpclient ir pārejošs vai vienreizējs?

Video: Vai httpclient ir pārejošs vai vienreizējs?
Video: Stop using the HttpClient the wrong way in .NET 2024, Aprīlis
Anonim

HttpClient klase ir vairāk piemērota kā vienvārds vienai lietotnes domēnam. Tas nozīmē, ka viens vienums ir jāsadala vairākās konteineru klasēs. Izmantojot šo taktiku, jūs saņemat vienu, taču tas apgrūtina kopīgošanu. HttpClient klase ievieš IDisposable saskarni.

Vai mums visiem pieprasījumiem vajadzētu izveidot jaunu vienu HttpClient gadījumu?

Lai gan tas ievieš IDisposable saskarni, tas faktiski ir koplietots objekts. Tas nozīmē, ka zem segas tas ir atkārtoti ieplūstošs un drošs pavedienam. Tā vietā, lai katrai izpildei izveidotu jaunu HttpClient gadījumu, jums jākoplieto ar vienu HttpClient gadījumu visā lietojumprogrammas darbības laikā.

Vai atkārtoti izmantot

HttpClient ir paredzēts vienreiz izveidot un atkārtoti izmantot visu lietojumprogrammas darbības laiku. Katram pieprasījumam izveidojot HttpClient klasi, tiks izsmelts lielas slodzes gadījumā pieejamo kontaktligzdu skaits. Tas radīs SocketException kļūdas.

Vai HttpClient netiek pārvaldīts?

Lai gan HttpClient netieši ievieš IDvienreiz lietojamo saskarni, HttpClient standarta lietojums nav jāiznīcina pēc katra pieprasījuma. Objektam HttpClient ir paredzēts darboties tik ilgi, kamēr jūsu lietojumprogrammai ir jāveic HTTP pieprasījumi.

Vai HttpClient pavediens ir drošs?

HttpClient ir pilnībā drošs pret pavedieniem, ja izmanto kopā ar pavedienu drošu savienojumu pārvaldnieku, piemēram, MultiThreadedHttpConnectionManager. Tajā pašā laikā HttpClient instance un savienojumu pārvaldnieks ir jāsadala starp visiem pavedieniem, lai nodrošinātu maksimālu efektivitāti.

Ieteicams: