Ich möchte einen Job in einem neuen Thread starten oder backgroundworker verwenden, aber ich habe das vorher noch nicht gemacht und frage dich, wie ich es machen soll.Laufende Klasse als neuer Thread
Mein Programm hat eine Datagridview mit einer Liste von Dateien, eine Datei pro Zeile. Ich möchte, dass der Benutzer eine Zeile auswählen kann und dann auf "Download starten" klicken, um einen Hintergrundjob des Downloads zu starten. Ich möchte Ereignisse vom Fortschritt des Downloads abrufen.
Ich habe eine Klasse clsDownload, die alles behandelt und löst Ereignisse zurück, aber wie implementiere ich die Hintergrundverarbeitung?
Sollte ich den System.ComponentModel.BackgroundWorker in der Klasse verwenden oder einen Wrapper erstellen, der das handhabt oder ein anderes Threading verwendet?
Danke.
Edit: Ich verstehe nicht, wie ich meinen Download im Hintergrundarbeiter implementieren, jedes kleine Beispiel wäre sehr nett. Das Beispiel auf msdn hat mich nicht weit gebracht.
Ich habe eine Download-Klasse, die eine StartDownload-Funktion hat. Soll ich den Hintergrundarbeiter IN der Klasse oder im Anrufer verwenden? "Gefühl dumm"
würde ich gegen WaitCallback raten, da es schwieriger ist, Ereignisse an den UI-Thread zurückzukehren (die ich etwas davon ausgehen, ist er erreichen will). – Inferis