Dans tous les exemples que je peux trouver des usages de HttpClient
, il est utilisé pour des appels ponctuels. Mais que se passe-t-il si j'ai une situation client persistante, où plusieurs demandes peuvent être effectuées simultanément? Fondamentalement, est-il sûr d'appeler client.PostAsync
2 threads à la fois contre la même instance de HttpClient
.
Je ne cherche pas vraiment de résultats expérimentaux ici. Un exemple de travail pourrait simplement être un coup de chance (et un exemple persistant), et un exemple défaillant peut être un problème de mauvaise configuration. Idéalement, je recherche une réponse faisant autorité à la question de la gestion de la concurrence dans HttpClient.
HttpClient
et de s'en débarrasser correctement : stackoverflow.com/questions/15705092/…Réponses:
Selon MSDN , depuis .NET 4.5 Les méthodes d'instance suivantes sont thread-safe (merci @ischell):
la source
Voici un autre article d'Henrik F. Nielsen sur HttpClient où il dit:
" Le HttpClient par défaut est le moyen le plus simple de commencer à envoyer des requêtes. Un seul HttpClient peut être utilisé pour envoyer autant de requêtes HTTP que vous le souhaitez simultanément . Dans de nombreux scénarios, vous pouvez simplement créer un HttpClient, puis l'utiliser pour toutes vos requêtes. . "
la source
J'ai trouvé un message sur le forum MSDN par Henrik F. Nielsen (l'un des principaux architectes de HttpClient).
Résumé rapide:
la source