Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Entwurfsmuster für die asynchrone Programmierung

Mit asynchronen Vorgängen werden üblicherweise Aufgaben ausgeführt, die längere Zeit in Anspruch nehmen, z. B. das Öffnen großer Dateien, Die Herstellung einer Verbindung mit Remotecomputern oder das Abfragen einer Datenbank. Ein asynchroner Vorgang wird in einem eigenen Thread ausgeführt, der vom Hauptanwendungsthread getrennt ist. Wenn eine Anwendung Methoden zum Ausführen eines asynchronen Vorgangs aufruft, kann die Anwendung weiter ausgeführt werden, während die asynchrone Methode ihre Aufgaben erfüllt.

In .NET Framework stehen zwei Entwurfsmuster für asynchrone Vorgänge zur Verfügung:

  • Asynchrone Vorgänge, die IAsyncResult-Objekte verwenden.

  • Asynchrone Vorgänge, die Ereignisse verwenden.

Das IAsyncResult-Entwurfsmuster ermöglicht eine Reihe unterschiedlicher Programmiermodelle, ist jedoch komplex und daher schwer zu erlernen und bietet zudem eine Flexibilität, die für die meisten Anwendungen nicht erforderlich ist. Klassenbibliothek-Designer sollten asynchrone Methoden daher nach Möglichkeit nach dem ereignisgesteuerten Modell implementieren. In einigen Fällen empfiehlt sich für Bibliothek-Designer jedoch auch das IAsyncResult-basierte Modell.

Eine Dokumentation zu asynchronen Vorgängen, die Ereignisse verwenden, finden Sie unter Übersicht über ereignisbasierte asynchrone Muster.

Die asynchrone Programmierung ist ein Feature, das von vielen Bereichen in .NET Framework unterstützt wird, z. B.:

  • Datei-E/A, Stream-E/A, Socket-E/A

  • Netzwerkvorgänge

  • Remotechannel (HTTP, TCP) und Proxys

  • Mithilfe von ASP.NET erstellte XML-Webdienste

  • ASP.NET-Web Forms

  • Message Queuing mithilfe der MessageQueue

In diesem Abschnitt

Übersicht über die asynchrone Programmierung

Erläutert das IAsyncResult-basierte asynchrone Entwurfsmuster, mit dem Ihnen ein flexibles Programmiermodell für die Verwendung von asynchronen Vorgängen zur Verfügung steht.

Aufrufen von asynchronen Methoden unter Verwendung von IAsyncResult

Stellt Codebeispiele zur Verfügung, die die verschiedenen Verfahren veranschaulichen, mit denen Anwendungen das Ende eines asynchronen Vorgangs erkennen können.

Asynchrone Programmierung mithilfe von Delegaten

Beschreibt das asynchrone Aufrufen einer synchronen Methode.

Multithreadprogrammierung mit dem ereignisbasierten asynchronen Muster

Beschreibt das ereignisbasierte asynchrone Muster, das ein asynchrones Programmiermodell bereitstellt, bei dem die threadübergreifende Kommunikation über Ereignisse erfolgt.

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)