Logo es.boatexistence.com

¿Debe httpclient ser transitorio o único?

Tabla de contenido:

¿Debe httpclient ser transitorio o único?
¿Debe httpclient ser transitorio o único?

Video: ¿Debe httpclient ser transitorio o único?

Video: ¿Debe httpclient ser transitorio o único?
Video: API integration in angular with http 2024, Mayo
Anonim

La clase HttpClient es más adecuada como singleton para un solo dominio de aplicación. Esto significa que el singleton debe compartirse entre varias clases de contenedores. Con esta táctica, obtienes un singleton, pero esto dificulta compartirlo. La clase HttpClient implementa la interfaz IDisposable.

¿Deberíamos crear una nueva instancia única de HttpClient para todas las solicitudes?

Aunque implementa la interfaz IDisposable, en realidad es un objeto compartido. Esto significa que debajo de las cubiertas es reentrante y seguro para roscas. En lugar de crear una nueva instancia de HttpClient para cada ejecución, debe compartir una sola instancia de HttpClient durante toda la vida útil de la aplicación.

¿Debería reutilizar

HttpClient está creado para ser instanciado una vez y reutilizado a lo largo de la vida de una aplicación. Crear instancias de una clase HttpClient para cada solicitud agotará la cantidad de sockets disponibles bajo cargas pesadas. Esto resultará en errores de SocketException.

¿HttpClient no está administrado?

Aunque HttpClient implementa indirectamente la interfaz IDisposable, el uso estándar de HttpClient es no desecharlo después de cada solicitud. El objeto HttpClient está diseñado para vivir tanto tiempo como su aplicación necesite realizar solicitudes

¿HttpClient es seguro para subprocesos?

HttpClient es completamente seguro para subprocesos cuando se usa con un administrador de conexión seguro para subprocesos como MultiThreadedHttpConnectionManager. … Al mismo tiempo, la instancia de HttpClient y el administrador de conexiones deben compartirse entre todos los subprocesos para lograr la máxima eficiencia.

Recomendado: