Freigeben über


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

Download sample

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

Konzepte

Threading-Modell