Ich kann das Timeout meines HttpClient
Objekts direkt mit HttpClient.Timeout
einstellen, aber ich habe vor kurzem über die WebRequestHandler
Klasse gelesen, die eine Ableitung von HttpClientHandler
ist.Was ist der Unterschied zwischen HttpClient.Timeout und den WebRequestHandler-Timeout-Eigenschaften?
WebRequestHandler
hat eine ReadWriteTimeout
Eigenschaft. Wie wirkt sich dies auf den Betrieb der Anfrage aus, wenn sie neben HttpClient.Timeout
verwendet wird?
Da es sich um Streams handelt, würde 'ReadWriteTimeout 'affect' Response.Content.ReadAsStringAsync' dann? Im Moment verwende ich 'HttpCompletionOption.ResponseContentRead' beim Aufruf von' SendAsync', um sicherzustellen, dass der Inhalt vor dem Timeout gelesen wird, weil 'ReadAsStringAsync' kein explizites Timeout oder keine explizite Löschung erlaubt. Ich würde stattdessen 'HttpCompletionOption.ResponseHeadersRead' verwenden, wenn' WebRequestHandler' es mir erlaubt, eine Zeitüberschreitung beim Lesen des Inhalts-Streams zu setzen. – iguanaman
Es ist ein bisschen schwierig, sich Ihren Anwendungsfall aus der Beschreibung vorzustellen, können Sie den relevanten Code durch Bearbeiten der Frage posten? – weston