Entwickler-Ecke

Basistechnologien - Backgroundworker


Peugeot1220 - Mo 02.02.09 19:51
Titel: Backgroundworker
Hi,

ich kämpf da schon seit Tagen mit einem Backgroundworker Problem. Vielleicht könnt ihr mir da weiterhelfen.
Ich habe einen Backgroundworker, der eine Klasse instanziert und eine Methode daraus aufruft:

C#-Quelltext
1:
2:
3:
4:
5:
protected override void OnDoWork(DoWorkEventArgs e)
{
CheckSomething cs = new CheckSomething();
cs.Check(e.Argument);
}


Das Problem ist, das ich die Ergebnisse aus cs.Check aus dem OnDoWork in ein Datagridview rein schreibe, jedoch die Werte überhaupt nicht zusammmen passen, weil sie mit den anderen Threads total durcheinander kommen.
Was mach ich falsch?

Die cs.Check Klasse beinhaltet ein webrequest der einen Servicepointer auslöst. Ergebnisse aus dem Webrequest und dem Servicepointer werden dann zurück an OnDoWork geliefert.

Ich hoffe ich war einigermaßen verständlich und ihr könnt mir weiterhelfen.

patrick

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mo 02.02.2009 um 18:59


JüTho - Mo 02.02.09 20:18
Titel: Re: Backgroundworker
user profile iconPeugeot1220 hat folgendes geschrieben:
Das Problem ist, das ich die Ergebnisse aus cs.Check aus dem OnDoWork in ein Datagridview rein schreibe, jedoch die Werte überhaupt nicht zusammmen passen, weil sie mit den anderen Threads total durcheinander kommen.
Was mach ich falsch?

Es fehlen noch Angaben zu den übrigen Bestandteilen des BackgroundWorker. Falsch ist auf jeden Fall Folgendes:

Siehe das Beispiel in der SDK-Doku/MSDN zur BackgroundWorker-Klasse.

Gruß Jürgen