Frage von Benni517, 46

Warum hängt das Programm auf bis der Download fertig ist C#?

Mein Programm hängt während es downloadet wenn es fertig ist nicht mehr.

Der code:

String sLine;
                StreamReader sLines = new StreamReader(appDataVerzeichnis + @"\.GCLSL\modsupdater.txt");
                

            String modn;
            StreamReader moddn = new StreamReader(appDataVerzeichnis + @"\.GCLSL\modnames.txt");





            while (Convert.ToString(sLine = sLines.ReadLine()) != null && (Convert.ToString(modn = moddn.ReadLine()) != null))
            {




                if (File.Exists(line + modn))
                {

                }
                else
                {
                    
                    WebClient webClient = new WebClient();
                    webClient.DownloadFile(sLine, line + modn);




                }
                
            }

Ich möchte noch eine Gif machen damit man sieht das das Programm nicht hängt aber leider spinnt es solange bis es fertig ist.

Hat jemand eine Idee wie man das lösen kann?

Antwort
von CrystalixXx, 23

Das Programm spinnt nicht, es führt nur eine Anweisung aus.

Entweder nutzt du das asynchrone Pendant zu "DownloadFile" oder du führt die Anweisung in einem neuen Thread aus (z.B. über ein BackgroundWorker-Objekt).

Kommentar von Benni517 ,

Und wie genau? code Beispiel

Kommentar von CrystalixXx ,

Ein Beispiel wozu? Ich habe dir mehrere Möglichkeiten genannt...

Die erste Variante findest du hier: https://msdn.microsoft.com/de-de/library/ms144196.aspx. Durchlesen, verstehen, umsetzen. Programmieren heißt auch selbstständig arbeiten.

Antwort
von hyWse, 30

Was heißt, es spinnt? Wenn du das Programm in dieser Zeit nicht bedienen kannst, mach' dich mal über  "Threads" schlau. :)

Kommentar von Benni517 ,

Ja genau ich kann es nicht bedienen. Funktioniert des mit den 
Threads?

Kommentar von hyWse ,
Kommentar von Benni517 ,

Ok das ist Lustig xD

Kommentar von hyWse ,

^^

Kommentar von PWolff ,

Einem Anfänger würde ich nicht zu Threads raten, jedenfalls nicht ohne detaillierte Anleitung

Antwort
von LeonardM, 18

#threading #async

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten