Beispiel für das Verwalten unbehandelter Ausnahmen in sekundären Workerthreads
Aktualisiert: November 2007
In diesem Beispiel wird veranschaulicht, wie unbehandelte Ausnahmen verwaltet werden, die in sekundären Workerthreads ausgelöst werden.
In diesem Beispiel soll nur ein bestimmtes Feature von Windows Presentation Foundation veranschaulicht werden, daher werden die bewährten Methoden für die Anwendungsentwicklung nicht befolgt. Ausführliche Informationen über empfohlene Vorgehensweisen bei der Anwendungsentwicklung für Windows Presentation Foundation (WPF) und Microsoft .NET Framework finden Sie unter folgenden Themen:
Eingabehilfen – Bewährte Methoden für Eingabehilfen
Lokalisierung – Übersicht über WPF-Globalisierung und -Lokalisierung
Leistung – Optimieren der WPF-Anwendungsleistung
Sicherheit – Windows Presentation Foundation-Sicherheit
Erstellen des Beispiels
Installieren Sie das Windows Software Development Kit (SDK) und öffnen Sie dessen Buildumgebungs-Befehlsfenster. Zeigen Sie im Startmenü auf Alle Programme und Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.
Laden Sie das Beispiel, normalerweise aus der Software Development Kit (SDK)-Dokumentation, auf Ihre Festplatte herunter.
Um das Beispiel über das Buildumgebungs-Befehlsfenster zu erstellen, wechseln Sie zum Quellverzeichnis des Beispiels. Geben Sie an der Eingabeaufforderung MSBUILD ein.
Um das Beispiel mit in Microsoft Visual Studio zu erstellen, laden Sie die Projektmappe oder Projektdatei des Beispiels, und drücken Sie STRG+UMSCHALT+B.
Ausführen des Beispiels
Um das kompilierte Beispiel über das Buildumgebungs-Befehlsfenster auszuführen, führen Sie die EXE-Datei aus dem Ordner Bin\Debug oder Bin\Release, die unter dem Quellcodeordner des Beispiels enthalten sind, aus.
Um das kompilierte Beispiel in Visual Studio mit Debuggen auszuführen, drücken Sie F5.
Hinweise
Eigenständige oder im Browser gehostete WPF-Anwendungen verwenden die Application-Klasse, um unbehandelte Ausnahmen (siehe DispatcherUnhandledException) zu erkennen. Application kann jedoch nur unbehandelte Ausnahmen erkennen, die im selben Thread ausgelöst werden, den auch die Application-Klasse ausführt. In der Regel hat eine Anwendung nur einen Benutzeroberfläche (user interface, UI)-Hauptthread, sodass das Erkennungsverhalten der Application-Klasse bei unbehandelten Ausnahmen adäquat ist. Unbehandelte Ausnahmen, die in sekundären Threads ausgelöst werden, werden jedoch nicht automatisch von der Application-Klasse im Benutzeroberfläche-Hauptthread erkannt.
In diesem Beispiel wird veranschaulicht, wie unbehandelte Ausnahmen von sekundären Workerthreads an den Benutzeroberfläche-Hauptthread übergeben werden, in dem sie vom Application-Objekt erkannt werden können. Dies wird durch die Erkennung unbehandelter Ausnahmen im sekundären Workerthread und die Weiterleitung an den Benutzeroberfläche-Hauptthread durch den Dispatcher erreicht. Im Benutzeroberfläche-Hauptthread werden sie erneut ausgelöst, sodass das Application-Objekt sie erkennen kann.
Tipp
Ein sekundärer Workerthread ist ein sekundärer Thread, der Benutzeroberfläche nicht anzeigt.
Siehe auch
Aufgaben
Beispiel für das Verwalten unbehandelter Ausnahmen in sekundären Benutzeroberflächenthreads