Настройка времени ожидания соединения HttpWebRequest в C #

Я полагаю, что после долгих исследований и поисков я обнаружил, что то, что я хочу сделать, вероятно, лучше выполнять, устанавливая асинхронное соединение и прерывая его после желаемого времени ожидания ... Но я все равно буду спрашивать!

Быстрый фрагмент кода:

HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(url);
webReq.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); 
// this takes ~20+ sec on servers that aren't on the proper port, etc.

у меня естьHttpWebRequest метод, который находится в многопоточном приложении, в котором я подключаюсь к большому количеству веб-серверов компании. В тех случаях, когда сервер не отвечает,HttpWebRequest.GetResponse() время ожидания истекает около 20 секунд, хотя я указал время ожидания всего 5 секунд. В целях обеспечения регулярного прохождения серверов, я хочу пропустить те, для подключения к которым требуется больше 5 секунд.

Так что вопрос в следующем:Есть ли простой способ указать / уменьшить время ожидания подключения для WebRequest или HttpWebRequest? "I