Posso impostare il timeout del mio oggetto HttpClient
direttamente con HttpClient.Timeout
ma di recente ho letto della classe WebRequestHandler
che è una derivata di HttpClientHandler
.Qual è la differenza tra HttpClient.Timeout e l'utilizzo delle proprietà di timeout WebRequestHandler?
WebRequestHandler
ha una proprietà ReadWriteTimeout
. In che modo ciò influisce sul funzionamento della richiesta se utilizzato insieme a HttpClient.Timeout
?
Poiché è correlato agli stream, sarebbe 'ReadWriteTimeout 'interessa' Response.Content.ReadAsStringAsync' quindi? Al momento utilizzo 'HttpCompletionOption.ResponseContentRead' quando si chiama' SendAsync' per assicurarsi che il contenuto sia letto prima del timeout, poiché 'ReadAsStringAsync' non consente un timeout o cancellazione espliciti. Mi piacerebbe usare 'HttpCompletionOption.ResponseHeadersRead', invece, se' WebRequestHandler' mi permette di impostare un timeout sulla lettura del flusso di contenuti. – iguanaman
È un po 'difficile visualizzare il caso d'uso dalla descrizione, puoi pubblicare il codice pertinente modificando la domanda? – weston