Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
In diesem Beispiel wird veranschaulicht, wie Sie verhindern, dass ein blockierender Vorgang dazu führt, dass eine Anwendung nicht reagiert.
In diesem Beispiel wird eine Wetterdienstanwendung simuliert, die eine Remoteressource abfragt. Während die Anwendung die Remoteressource abfragt, sollte die Benutzeroberfläche reagieren. Ein Hintergrundthread ruft die Informationen ab, um dieses Problem zu lösen. Wenn der Thread diese Aufgabe ausgeführt hat, sendet er mittels Push einen Auftrag an den Verteiler des Benutzeroberfläche-Threads.
Durch Aufrufen von BeginInvoke für das Delegatobjekt wird ein Hintergrundthread erstellt. Hierbei handelt es sich um einen asynchronen Aufruf, bei dem ein Threadpool-Thread verwendet wird. In Bezug auf das Erstellen von Threads müssen daher keine weiteren Aufgaben ausgeführt werden.
Die Verzögerung beim Herstellen einer Verbindung mit dem Remotedienst wird simuliert, indem der Arbeitsthread in den Ruhezustand versetzt wird. Nach Abschluss des Auftrags wird ein weiterer Auftrag an den Dispatcher des Benutzeroberfläche-Threads gesendet, um die Benutzeroberfläche mit Wettervorhersageninformationen zu aktualisieren.
In diesem Beispiel werden außerdem Animation und Storyboards veranschaulicht. Die Animation wird in erster Linie in der XAML-Datei definiert, während Beginn und Ende der Animation im Code-Behind behandelt werden.
Eine Erläuterung dieses Beispiels finden Sie im Thema Threading-Modell.
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.
Siehe auch
Aufgaben
Beispiel für eine Singlethread-Anwendung mit Berechnung mit langer Laufzeit
Beispiel für einen Multithreading-Webbrowser
Beispiel für das Deaktivieren der Befehlsquelle über den Systemzeitgeber