Какое правильное время ожидания HTTP-запроса для этих вызовов?Я использую API Bing V7 и отправляю HTTP-запросы для этой конечной точки:
Bing предоставляет свой API через конечную точку HTTP.На мой взгляд, это не имеет ничего общего с самим API, так как HTTP - это всего лишь транспорт в этой ситуации.Контекст HTTP-запроса обычно обрабатывается, например,обратные прокси, такие как NGINX (или, вероятно, MS IIS здесь).Следовательно, в документации по API нет документации.
Когда я определяю свой HttpClient, мне нужно выбрать правильное значение Timeout.Из-за короткого тайм-аута я потеряю некоторые ответы с сервера.Слишком длинные тайм-ауты заставят меня ждать, даже если сервера там нет.
Значение тайм-аута в вашем HttpClient
просто для того, чтобы в конечном итоге восстановиться из ситуации blocking
.Это означает, что ваша программа не будет блокироваться бесконечно, но в какой-то момент прекратит действие HTTP под рукой.Это полезно, если ваш HttpClient
попал в пример.Ситуация разделения сети, тупиковая ситуация или аналогичная ситуация, и никакого ответа не будет.
Значение тайм-аута от 45 до 60 секунд достаточно.
Слишком длинные тайм-ауты заставят меня ждать,даже если сервера там нет.
Я бы оставил фиксированным значение тайм-аута HttpClient
, например.60 секунд и второй поток «супервизора» выполняет более динамический «тест дыма», чтобы проверить, в порядке ли соединение, или есть какая-то другая проблема, после которой вы можете прекратить HttpClient
раньше.