когда начинается тайм-аут клиента? - PullRequest
0 голосов
/ 10 января 2019

Хорошо, вот сценарий:

Клиенты отправляют запрос в 10:00:00 (ч: м: с). Этот запрос хранится в пуле приложений IIS QUEUE до тех пор, пока для этого запроса не появится доступный поток. Поток освобожден, и пул приложений теперь получил запрос, который он должен обработать. Время 10: 00: 15.

Когда клиент начал ждать своего ответа - в 10:00:00 или 10:00:15?

1 Ответ

0 голосов
/ 11 января 2019

Период ожидания клиента начался в 10:00:00. Клиент не знает, что происходит с внутренними компонентами сервера, и даже с задержкой в ​​сети. Все, что он знает, это когда запрос был отправлен и когда был получен ответ (если вообще был).

Хотя на уровне уровня обработки сообщений для конкретной платформы (SendTimeout, ReceiveHeadersTimeout, ReceiveDataTimeout) могут быть более точные тайм-ауты, Timeout определено в реализациях, совместимых со стандартом .NET. из HttpClient является сквозным. За Microsoft :

Свойство HttpClient.Timeout предназначено именно для вас называемый случаем 99%: сквозной тайм-аут, после которого запрос истекает. WinHttpHandler API предназначен для обеспечения более глубокий контроль над разработчиками для более сложных сценариев. В сохранении с этим намерением у нас есть более точные таймауты на этот тип, так как в прошлом мы получали запросы разработчиков, которые запрашивали контроль над определенной стадией запроса.

...