Em todos os exemplos que posso encontrar de usos HttpClient
, ele é usado para chamadas pontuais. Mas e se eu tiver uma situação persistente de cliente, em que várias solicitações possam ser feitas simultaneamente? Basicamente, é seguro chamar client.PostAsync
2 threads de uma só vez na mesma instância de HttpClient
.
Não estou realmente procurando resultados experimentais aqui. Como um exemplo de trabalho, pode ser simplesmente um acaso (e persistente), e um exemplo com falha pode ser um problema de configuração incorreta. Idealmente, estou procurando uma resposta oficial para a questão do tratamento de simultaneidade no HttpClient.
.net
c#-4.0
concurrency
dotnet-httpclient
Alex K
fonte
fonte
HttpClient
e descartá-la: stackoverflow.com/questions/15705092/...Respostas:
De acordo com o MSDN , desde o .NET 4.5 Os seguintes métodos de instância são seguros para threads (obrigado @ischell):
fonte
Aqui está outro artigo de Henrik F. Nielsen sobre o HttpClient, onde ele diz:
" O HttpClient padrão é a maneira mais simples de começar a enviar solicitações. Um único HttpClient pode ser usado para enviar quantas solicitações HTTP você desejar simultaneamente. Em muitos cenários, você pode simplesmente criar um HttpClient e usá-lo para todas as suas solicitações. . "
fonte
Foi encontrada uma postagem no fórum do MSDN de Henrik F. Nielsen (um dos principais arquitetos do HttpClient).
Resumo rápido:
fonte