Entwickler-Ecke

C# - Die Sprache - c# webclient timeout


vreden123 - So 25.04.10 19:54
Titel: c# webclient timeout
Hallo gibt es eine eine Timeout funktion beim webclint zu ermöglichen?

Beispiel:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
using (WebClient client = new WebClient())
            {
                string glink;
                string arr;
                client.Headers["User-Agent"] = "Mozilla/4.0 (Compatible; Windows NT 5.1; MSIE 6.0) (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
                glink = "domain.de";
                arr = client.DownloadString(glink);
}


dort werden die daten von Domain.de heruntergeladen.

Meine Frage ist gibt es eine funktion das eine Fehlermeldung erscheint wenn "Domain.de" zu lange braucht um eine antwort zu senden?

Moderiert von user profile iconKha: C#-Tags hinzugefügt


Kha - So 25.04.10 20:00

WebClient ist die vereinfachte Version von WebRequest, letztere Klasse kennt eine Timeout-Property. Ansonsten könntest du auch DownloadStringAsync verwenden und einen Timer mitlaufen lassen ;) .


vreden123 - So 25.04.10 20:24

Könntest du mir vieleicht ein Beispiel zeigen? Ich bin leider noch nicht so erfahren darin.


danielf - Mo 26.04.10 06:54

Hallo,

was meinst du mit "zu lange"? Wenn du nach einer Zeit keine Daten bekommst/Seite nicht existiert bekommst du eine Fehlermeldung. Wenn du den Timeout einstellen möchtest kannst du wie folgt verfahren:

http://www.pcreview.co.uk/forums/thread-1339602.php
http://www.bauer-martin.com/csharp/c-webclient-mit-timeout-251.html

Gruß