Mogę ustawić limit czasu mojego obiektu HttpClient
bezpośrednio z HttpClient.Timeout
, ale ostatnio przeczytałem o klasie WebRequestHandler
, która jest pochodną HttpClientHandler
.Jaka jest różnica między HttpClient.Timeout i używanie właściwości Timeout WebRequestHandler?
WebRequestHandler
ma właściwość ReadWriteTimeout
. W jaki sposób wpłynie to na działanie żądania w połączeniu z numerem HttpClient.Timeout
?
Ponieważ jest związany ze strumieniami, to 'ReadWriteTimeout 'Wpływa więc na' Response.Content.ReadAsStringAsync'? W tej chwili używam 'HttpCompletionOption.ResponseContentRead' podczas wywoływania' SendAsync', aby upewnić się, że zawartość zostanie odczytana przed upływem limitu czasu, ponieważ 'ReadAsStringAsync' nie zezwala na jawny limit czasu lub anulowanie. Chciałbym zamiast tego użyć 'HttpCompletionOption.ResponseHeadersRead', jeśli' WebRequestHandler' pozwala ustawić limit czasu na czytanie strumienia treści. – iguanaman
Ciężko wyobrazić sobie Twój przypadek użycia z opisu, czy możesz opublikować odpowiedni kod, edytując pytanie? – weston