HttpClient-klassen er mer egnet som singleton for et enkelt app-domene. Dette betyr at singletonen skal deles på tvers av flere containerklasser. Med denne taktikken får du en singleton, men dette gjør det vanskelig å dele. HttpClient-klassen implementerer IDisposable-grensesnittet.
Skal vi opprette en ny enkelt forekomst av HttpClient for alle forespørsler?
Selv om det implementerer IDisposable-grensesnittet, er det faktisk et delt objekt. Dette betyr at under dekslene er den gjeninntrengende og gjengesikker. I stedet for å opprette en ny forekomst av HttpClient for hver kjøring, bør du dele en enkelt forekomst av HttpClient for hele programmets levetid.
Bør du gjenbruke
HttpClient er ment å bli instansiert én gang og gjenbrukt gjennom hele programmets levetid. Å instansiere en HttpClient-klasse for hver forespørsel vil tømme antallet tilgjengelige stikkontakter under tung belastning. Dette vil resultere i SocketException-feil.
Er HttpClient uadministrert?
Selv om HttpClient indirekte implementerer IDisposable-grensesnittet, standardbruken av HttpClient er ikke å kaste den etter hver forespørsel. HttpClient-objektet er ment å leve så lenge applikasjonen din trenger for å sende
Er
HttpClient er fullstendig trådsikker når brukes med en trådsikker tilkoblingsbehandling som MultiThreadedHttpConnectionManager. … Samtidig bør HttpClient-forekomsten og tilkoblingsbehandleren deles mellom alle tråder for maksimal effektivitet.