Réglage de HttpWebRequest Timeout de la Connexion en C#

Je crois qu'après de longues recherche et de la recherche, j'ai découvert que ce que je veux faire, c'est probablement mieux servi par l'établissement d'une connexion asynchrone et à la fin après le délai désiré... Mais je vais aller de l'avant et demander de toute façon!

Rapide extrait de code:

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.

J'ai un HttpWebRequest méthode qui est dans une application multi-thread, dans lequel je me connecte à un grand nombre de société de serveurs web. Dans le cas où le serveur ne répond pas, le HttpWebRequest.GetResponse() prend environ 20 secondes pour le temps, même si j'ai spécifié un délai d'attente de 5 secondes. Dans l'intérêt de passer par les serveurs sur un intervalle régulier, je veux ignorer ceux qui prennent plus de 5 secondes pour se connecter à.

La question est donc: "Est-il un moyen simple de spécifier/diminution d'un délai d'attente de connexion pour un WebRequest ou HttpWebRequest?"

InformationsquelleAutor JYelton | 2009-09-30