Logo hu.boatexistence.com

A httpclient átmeneti vagy egyszeri legyen?

Tartalomjegyzék:

A httpclient átmeneti vagy egyszeri legyen?
A httpclient átmeneti vagy egyszeri legyen?

Videó: A httpclient átmeneti vagy egyszeri legyen?

Videó: A httpclient átmeneti vagy egyszeri legyen?
Videó: Stop using the HttpClient the wrong way in .NET 2024, Április
Anonim

A HttpClient osztály alkalmasabb egyetlen alkalmazási tartományhoz. Ez azt jelenti, hogy a singletont több konténerosztály között meg kell osztani. Ezzel a taktikával valóban kapsz egyet, de ez megnehezíti a megosztást. A HttpClient osztály megvalósítja az IDisposable interfészt.

Létre kell hoznunk a HttpClient egyetlen példányát az összes kéréshez?

Bár megvalósítja az IDisposable interfészt, valójában egy megosztott objektum. Ez azt jelenti, hogy a burkolat alatt újra behatol és cérnabiztos. Ahelyett, hogy minden egyes végrehajtáshoz létrehozna egy új HttpClient példányt, egyetlen példányt kell megosztania a HttpClientből az alkalmazás teljes élettartama alatt.

Újra kell használnia a HttpClient programot?

A

HttpClient egyszer példányosítandó és újrafelhasználható az alkalmazás teljes élettartama alatt. Ha minden kéréshez létrehoz egy HttpClient osztályt, az kimeríti a nagy terhelés mellett rendelkezésre álló aljzatok számát. Ez SocketException hibákat eredményez.

A HttpClient nincs felügyelve?

Bár a HttpClient közvetetten megvalósítja az IDelhasználható felületet, a HttpClient szokásos használata nem az, hogy minden kérés után megsemmisítsék. A HttpClient objektum addig működik, amíg az alkalmazásnak HTTP-kéréseket kell küldenie.

A HttpClient szálbiztos?

A HttpClient teljesen szálbiztos, ha szálbiztos kapcsolatkezelővel, például MultiThreadedHttpConnectionManagerrel használjuk. … Ugyanakkor a HttpClient példányt és a kapcsolatkezelőt meg kell osztani az összes szál között a maximális hatékonyság érdekében.

Ajánlott: