Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Share this Page URL
Help

Nebenläufige Programmierung > 388 Auf das Beenden eines Tasks reagieren und Tas... - Pg. 1143

>> Nebenläufige Programmierung // Auswerten der Ergebnisse der beiden Tasks double totalResult = calculationTask1.Result + calculationTask2.Result; this.Dispatcher.Invoke(new Action(() => { MessageBox.Show("Gesamtergebnis: " + totalResult, this.Title, MessageBoxButton.OK, MessageBoxImage.Information); })); }); // Einen Fortsetzungstask definieren, der bei einem fehlerhaften Beenden // aufgerufen wird controlTask.ContinueWith((t) => { this.Dispatcher.Invoke(new Action(() => { MessageBox.Show("Bei der Berechnung sind Ausnahmen eingetreten:" + Environment.NewLine + String.Join(Environment.NewLine, GetExceptionMessages(t.Exception)), this.Title, MessageBoxButton.OK, MessageBoxImage.Error); })); }, TaskContinuationOptions.OnlyOnFaulted); 1143 Listing 816: Beispiel für die Ausführung von Berechnungstasks in einem separaten Task (Forts.) Das Beispiel setzt die Methode GetExceptionMessages aus dem Rezept 52 ein, um im Ausnah-