Logo no.boatexistence.com

Skal httpclient være forbigående eller singleton?

Innholdsfortegnelse:

Skal httpclient være forbigående eller singleton?
Skal httpclient være forbigående eller singleton?

Video: Skal httpclient være forbigående eller singleton?

Video: Skal httpclient være forbigående eller singleton?
Video: Stop using the HttpClient the wrong way in .NET 2024, Kan
Anonim

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.

Anbefalt: