Тайм-аут при использовании HttpCompletionOption.ResponseHeadersRead?C#

Место общения программистов C#
Ответить
Anonymous
 Тайм-аут при использовании HttpCompletionOption.ResponseHeadersRead?

Сообщение Anonymous »

Интересно, может ли кто-нибудь помочь мне понять тайм-ауты при использовании HttpCompletionOption.ResponseHeadersRead. Учитывая приведенный ниже код:

Код: Выделить всё

using (HttpClient client = new HttpClient())
{
client.Timeout = TimeSpan.FromSeconds(5);
const string url = "https://url";
using (HttpResponseMessage response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead))
using (Stream stream = await response.Content.ReadAsStreamAsync())
{
... do some processing on stream ...
}
}
Правильно ли я понимаю, что:
  • тайм-аут вызова client.GetAsync равен 5 с (из-за client. Таймаут = TimeSpan.FromSeconds(5))? и поскольку используется HttpCompletionOption.ResponseHeadersRead, client.GetAsync успешно завершается после загрузки заголовков
  • клиент не влияет на обработку потока.Timeout = Конфигурация TimeSpan.FromSeconds(5)
  • обработка потока не имеет тайм-аута/ограничения по времени (по крайней мере, на стороне клиента). поэтому даже для очень большого файла (скажем, 1 ГБ) теоретически обработка потока может занять несколько минут.
Спасибо.
Извините, еще один вопрос по теме. Допустим, обработка потока состояла из вызова CopyTo:

Код: Выделить всё

await stream.CopyToAsync(destStream);
Имеет ли вызов CopyToAsync по умолчанию (без токена отмены) какое-либо ограничение по времени?

Подробнее здесь: https://stackoverflow.com/questions/688 ... eadersread
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»