Извините за привязку к старому потоку, но я думаю, что то, что было сказано выше, может быть неправильным / вводящим в заблуждение.
Из того, что я могу сказать. Время ожидания - это НЕ время соединения, это ОБЩЕЕ время, отведенное для всей жизни запроса HttpWebRequest и ответа. Доказательство:
Я установил:
.Timeout=5000
.ReadWriteTimeout=32000
Время подключения и отправки для HttpWebRequest заняло 26 мс
но время последующего вызова HttpWebRequest.GetResponse () истекло в 4974 мс, что доказывает, что 5000 мс был пределом времени для всего набора запросов на отправку / получение ответа.
Я не проверял, измерялось ли разрешение DNS-имен как часть времени, поскольку это не имеет значения для меня, поскольку ничего из этого не работает так, как мне действительно нужно, чтобы оно работало - я собирался быстрее установить время ожидания при подключении к системам, которые не принимали соединения, как показано, что они терпят неудачу во время фазы соединения запроса.
Например: я готов подождать 30 секунд с запросом на соединение, который может вернуть результат, но я хочу сжечь только 10 секунд, ожидая отправки запроса на хост, который работает некорректно.