Autor Beitrag
blumione
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Fr 09.01.09 20:16 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 09.01.09 20:36 
Und einfach "abstürzen" tun .Net-Programme meistens auch nicht. Oder kommt ein Bluescreen ;) ?

_________________
>λ=
blumione Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: 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.