Klasa HttpClient je prikladnija kao singleton za jednu domenu aplikacije. To znači da bi singleton trebao biti podijeljen u više klasa kontejnera. Sa ovom taktikom, možete dobiti singleton, ali to otežava dijeljenje. Klasa HttpClient implementira IDisposable interfejs.
Da li da kreiramo jednu novu instancu HttpClient-a za sve zahteve?
Iako implementira IDisposable interfejs, on je zapravo zajednički objekat. To znači da je ispod pokrivača ponovo uvučen i siguran za konac. Umjesto kreiranja nove instance HttpClient-a za svako izvršenje, trebalo bi dijeliti jednu instancu HttpClient-a za cijeli životni vijek aplikacije.
Da li treba ponovo koristiti
HttpClient je namijenjen za instanciranje jednom i ponovno korištenje tokom vijeka trajanja aplikacije. Instanciranje klase HttpClient za svaki zahtjev iscrpiće broj dostupnih utičnica pod velikim opterećenjem. Ovo će rezultirati greškama SocketException.
Je li HttpClient neupravljan?
Iako HttpClient indirektno implementira IDisposable interfejs, standardna upotreba HttpClient-a nije da ga se odlaže nakon svakog zahtjeva. Objekt HttpClient je namijenjen da živi onoliko dugo koliko vaša aplikacija treba da postavlja HTTP zahtjeve.
Je li HttpClient bezbedan niti?
HttpClient je potpuno bezbedan kada se koristi sa upravljačem veza sigurnim u niti kao što je MultiThreadedHttpConnectionManager. … U isto vrijeme, HttpClient instanca i upravitelj veze trebaju biti podijeljeni među svim nitima radi maksimalne efikasnosti.