2009-03-22 11 views

Antwort

5

Beide Ereignisse werden im UI-Thread marshallt.

3

Alle Ereignisse werden in dem Thread zurückgegeben, der die Instanz von BackgroundWorker erstellt hat. Alles, was Ihr Kunde tun muss, ist auf die Veranstaltung zu hören.

Sie haben hier wahrscheinlich, aber auch: BackgroundWorker Events

3

Es wird auf dem UI-Thread angehoben werden, die den Betrieb entstanden. Unter der Haube verwendet BackgroundWorker eine SynchronizationContext zum Marshalling zwischen den beiden Threads. Sowohl WPF als auch WinForms installieren beim Start einen entsprechenden SynchronizationContext.

2

Wenn der BackgroundWorker aus dem UI-Thread erstellt wurde, werden beide Ereignisse auch im UI-Thread ausgelöst.

Wenn es aus einem Hintergrundthread erstellt wurde, wird das Ereignis in einem undefinierten Hintergrundthread ausgelöst.

Weitere Informationen finden Sie in diesem Post und diesem Verbindungsproblem.

https://stackoverflow.com/a/2806824/279999

http://connect.microsoft.com/VisualStudio/feedback/details/116930/backgroundworker-components-progresschanged-and-runworkercompleted-event-run-on-wrong-thread

Verwandte Themen