[C#] timeout HttpWebRequest
Bonjour,
Je code une application console en C# qui dans une boucle contacte une page Web en lui passant des paramètres POST. Au premier tour de boucle tout fonctionne parfaitement mais dès le deuxième la méthode GetRequestStream() (qui récupère les données contenues dans la requête) génère une erreur de timeout :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| while( i >= 0 && (i < i2 || i2 < 0) )
{
HttpWebRequest HttpWReq2 = (HttpWebRequest)WebRequest.Create("http://titi/toto.asp");
//HttpWReq2.KeepAlive = false;
HttpWReq2.Method = "POST";
HttpWReq2.ContentType = STR_CONTENT_TYPE;
encoding = new System.Text.ASCIIEncoding();
string postData2 = "numgec=" + numgec;
byte[] byte1 = encoding.GetBytes(postData2);
HttpWReq2.ContentLength = postData2.Length;
Stream newStream = HttpWReq2.GetRequestStream(); // <===== plantage ici
newStream.Write(byte1,0,byte1.Length);
Console.WriteLine(newStream.ToString() + " "+ HttpWReq2.Address + " " + HttpWReq2.ContentLength);
HttpWebResponse HttpWResp2 = (HttpWebResponse)HttpWReq2.GetResponse();
enc = System.Text.Encoding.GetEncoding(1252);
loResponseStream = new StreamReader(HttpWResp2.GetResponseStream(), enc);
string s2 = loResponseStream.ReadToEnd();
loResponseStream.Close();
HttpWResp2.Close();
[...]
} |
Quelqu'un aurait-il une idée de la cause du problème ? J'ai lu quelque part qu'il fallait éviter le KeepAlive=false mais le retirer ne change rien à l'affaire...