Die Webclient-Klasse ist eine praktische Sache, z.B. um Dateien aus dem Internet herunterzuladen. Allerdings kann man nicht direkt einen Timeout einstellen. Dies wirkt sich negativ aus, wenn es Probleme beim Internetzugriff gibt.
Um einen Timeout einzustellen, kann man einfach von der Klasse ableiten und die Methode "GetWebRequest" überschreiben:
public class MyWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri uri)
{
WebRequest w = base.GetWebRequest(uri);
w.Timeout = 5 * 1000;
return w;
}
}
In dieser geben wir dann den Timeout an (in ms).