Entwickler-Ecke

ASP.NET und Web - Quelltext auslesen DownloadString stürzt immer ab


blumione - Fr 09.01.09 20:16
Titel: Quelltext auslesen DownloadString stürzt immer ab
Hallo zusammen

Ich möchten den Quelltext einer Website auslesen. Mit DownloadString stürzt das Programm immer gleich ab. Bei DownloadStringAsync passiert das nicht, aber da erhalte ich ja keine Ausgabe.

Wie kann ich das Problem lösen bzw. wie lest ihr den Quelltext aus?

Lg
Danke schonmals.


ebber - Fr 09.01.09 20:34

Hallo,

also bei mir stürzt das Programm bei DownloadString nicht ab, vielleicht solltest du hier mal deinen Code zeigen mit dem du versuchst den Quelltext auszulesen.

MfG


Kha - Fr 09.01.09 20:36

Und einfach "abstürzen" tun .Net-Programme meistens auch nicht. Oder kommt ein Bluescreen ;) ?


blumione - Fr 09.01.09 21:14

user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Und einfach "abstürzen" tun .Net-Programme meistens auch nicht. Oder kommt ein Bluescreen ;) ?


ne, ich meinte damit einfrieren.

Was ich jetzt aber bemerkt habe ist nur das erste Mal, bei jedem Programmstart das der Fall.

Also wenn ich die Funktion DownloadString() ausführe dann ladet er extrem lang. Oben steht dann auch "(Keine Rückmeldung").
Aber beim 2., 3., .. auf die gleiche oder andere Seite stürzt es nicht mehr ab.

Wie kann man das umgehen?

Hier der Code:

C#-Quelltext
1:
2:
3:
4:
5:
        private void button1_Click(object sender, EventArgs e)
        {
                WebClient wc = new WebClient();
                textBox2.Text = wc.DownloadString(textBox1.Text);
        }


ebber - Fr 09.01.09 21:43

Also zwischen abstürzen und hängen gibt es doch einen großen Unterschied.

Du sagst es funktioniert auch beim ersten mal? Es dauert nur länger? Ich vermute mal das hat irgendwas mit dem Zugang zum Internet zu tun. Daran kannst du mit deinem Programm vermutlich nichts ändern.

Um das hängen zu verhindern solltest du das ganze Asynchron machen, was du oben schon erwähnt hattest. Für die Ausgabe solltest du dir mal das Event DownloadStringCompleted anschauen.