Als alter Java Hase muss ich mal etwas in C# programmieren. Soweit klappte auch alles, bis auf ein Phänomen:
Ich möchte eine Datei per HTTP-GET periodisch von einem Webserver runterladen. Dabei fiel mir auf, dass genau(!) nach dem dritten Versuch die response anscheinend nicht kommt und irgendwann der timeout zuschlägt. Daher hab ich den code auf folgendes Fragment reduziert:
for (int i = 0; i \> 1");
request = (HttpWebRequest)WebRequest.Create("[http://www.heise.de/icons/ho/heise.gif"](http://www.heise.de/icons/ho/heise.gif%22));
Console.WriteLine("\>\> 2");
response = (HttpWebResponse)request.GetResponse();
Console.WriteLine("\>\> 3");
}
catch (Exception e)
{
// logger
}
}
Ich habe extra mal den recht zuverlässigen Heise-Server gewählt, es aber auch mit anderen servern probiert. Wie gesagt: bei der dritten Iteration hängt das Programm bei
response = (HttpWebResponse)request.GetResponse();
aber wieso?!?!