En todos los ejemplos que puedo encontrar de usos HttpClient
, se usa para llamadas únicas. Pero, ¿qué sucede si tengo una situación persistente del cliente, en la que se pueden realizar varias solicitudes simultáneamente? Básicamente, ¿es seguro invocar client.PostAsync
2 hilos a la vez contra la misma instancia de HttpClient
.
Realmente no estoy buscando resultados experimentales aquí. Como ejemplo de trabajo, podría ser simplemente una casualidad (y persistente), y un ejemplo fallido puede ser un problema de configuración incorrecta. Idealmente, estoy buscando una respuesta autorizada a la cuestión del manejo de concurrencia en HttpClient.
.net
c#-4.0
concurrency
dotnet-httpclient
Alex K
fuente
fuente
HttpClient
y desecharla correctamente : stackoverflow.com/questions/15705092/…Respuestas:
Según MSDN , desde .NET 4.5 Los siguientes métodos de instancia son seguros para subprocesos (gracias @ischell):
fuente
Aquí hay otro artículo de Henrik F. Nielsen sobre HttpClient donde dice:
" El HttpClient predeterminado es la forma más sencilla de comenzar a enviar solicitudes. Se puede usar un solo HttpClient para enviar tantas solicitudes HTTP como desee de forma simultánea, por lo que en muchos escenarios puede crear un HttpClient y luego usarlo para todas sus solicitudes " .
fuente
Encontré una publicación en el foro de MSDN por Henrik F. Nielsen (uno de los principales arquitectos de HttpClient).
Sumario rápido:
fuente