In allen Beispielen, deren Verwendung ich finden kann HttpClient
, wird es für einmalige Anrufe verwendet. Was aber, wenn ich eine anhaltende Client-Situation habe, in der mehrere Anfragen gleichzeitig gestellt werden können? Grundsätzlich ist es sicher, client.PostAsync
2 Threads gleichzeitig gegen dieselbe Instanz von aufzurufen HttpClient
.
Ich suche hier nicht wirklich nach experimentellen Ergebnissen. Ein funktionierendes Beispiel könnte einfach ein Zufall sein (und noch dazu ein hartnäckiger), und ein fehlgeschlagenes Beispiel kann ein Fehlkonfigurationsproblem sein. Im Idealfall suche ich nach einer maßgeblichen Antwort auf die Frage der Parallelitätsbehandlung in HttpClient.
.net
c#-4.0
concurrency
dotnet-httpclient
Alex K.
quelle
quelle
HttpClient
und Entsorgung: stackoverflow.com/questions/15705092/…Antworten:
Laut MSDN seit .NET 4.5 Die folgenden Instanzmethoden sind threadsicher (danke @ischell):
quelle
Hier ist ein weiterer Artikel von Henrik F. Nielsen über HttpClient, in dem er sagt:
" Der Standard-HttpClient ist die einfachste Methode, mit der Sie mit dem Senden von Anforderungen beginnen können. Mit einem einzelnen HttpClient können so viele HTTP-Anforderungen gleichzeitig gesendet werden, wie Sie möchten. In vielen Szenarien können Sie also nur einen HttpClient erstellen und diesen dann für alle Ihre Anforderungen verwenden . "
quelle
Habe einen MSDN-Forumsbeitrag von Henrik F. Nielsen (einem der Hauptarchitekten von HttpClient) gefunden.
Kurze Zusammenfassung:
quelle