Teilen über


Übersicht über Windows Communication Foundation-Transaktionen

Transaktionen bieten eine Möglichkeit zum Gruppieren einer Gruppe von Aktionen oder Vorgängen in einer einzigen unteilbaren Ausführungseinheit. Eine Transaktion ist eine Sammlung von Vorgängen mit den folgenden Eigenschaften:

  • Atomizität. Dadurch wird sichergestellt, dass entweder alle Updates, die unter einer bestimmten Transaktion abgeschlossen wurden, festgeschrieben und dauerhaft gemacht werden oder sie alle abgebrochen und auf ihren vorherigen Zustand wiederhergestellt werden.

  • Konsistenz. Dadurch wird sichergestellt, dass die änderungen, die unter einer Transaktion vorgenommen wurden, eine Transformation von einem konsistenten Zustand in einen anderen darstellen. Beispielsweise ändert eine Transaktion, die Geld von einem Bankkonto auf ein Sparkonto überträgt, nicht den Betrag des Geldes im Gesamten Bankkonto.

  • Isolation. Dadurch wird verhindert, dass eine Transaktion ausgecheckte Änderungen beobachtet, die zu anderen gleichzeitigen Transaktionen gehören. Isolation bietet eine Abstraktion der Parallelität, während sichergestellt wird, dass eine Transaktion keine unerwarteten Auswirkungen auf die Ausführung einer anderen Transaktion haben kann.

  • Haltbarkeit. Dies bedeutet, dass Updates verwalteter Ressourcen (z. B. eines Datensatzes in einer Datenbank) nach der Ausführung bei Fehlern dauerhaft sind.

Windows Communication Foundation (WCF) bietet eine vielzahl von Features, mit denen Sie verteilte Transaktionen in Ihrer Webdienstanwendung erstellen können.

WCF implementiert Unterstützung für das WS-AtomicTransaction (WS-AT)-Protokoll, mit dem WCF-Anwendungen Transaktionen an interoperable Anwendungen übertragen können, z. B. interoperable Webdienste, die mit Drittanbietertechnologien erstellt wurden. WCF implementiert auch Unterstützung für das OLE-Transaktionsprotokoll, das in Szenarien verwendet werden kann, in denen Sie keine Interopfunktionalität benötigen, um den Transaktionsfluss zu aktivieren.

Sie können eine Anwendungskonfigurationsdatei verwenden, um Bindungen zum Aktivieren oder Deaktivieren des Transaktionsflusses zu konfigurieren sowie das gewünschte Transaktionsprotokoll für eine Bindung festzulegen. Darüber hinaus können Sie Transaktionstimeouts auf Dienstebene mithilfe der Konfigurationsdatei festlegen. Weitere Informationen finden Sie unter Aktivieren des Transaktionsflusses.

Transaktionsattribute im System.ServiceModel Namespace ermöglichen Folgendes:

Weitere Informationen finden Sie unter ServiceModel Transaction Attributes.

Siehe auch