Udostępnij za pośrednictwem


Omówienie transakcji WCF (Windows Communication Foundation)

Transakcje umożliwiają grupowanie zestawu akcji lub operacji w jedną niepodzielną jednostkę wykonywania. Transakcja to kolekcja operacji z następującymi właściwościami:

  • Niepodzielność. Gwarantuje to, że wszystkie aktualizacje ukończone w ramach określonej transakcji zostaną zatwierdzone i trwałe lub wszystkie zostaną przerwane i wycofane z poprzedniego stanu.

  • Spójność. Gwarantuje to, że zmiany wprowadzone w ramach transakcji reprezentują przekształcenie z jednego spójnego stanu na inny. Na przykład transakcja, która przenosi pieniądze z konta kontrolnego na konto oszczędnościowe, nie zmienia kwoty pieniędzy na ogólnym koncie bankowym.

  • Izolacja. Zapobiega to obserwowaniu niezatwierdzonych zmian należących do innych współbieżnych transakcji. Izolacja zapewnia abstrakcję współbieżności, zapewniając jednocześnie, że jedna transakcja nie może mieć nieoczekiwanego wpływu na wykonanie innej transakcji.

  • Trwałość. Oznacza to, że po zatwierdzeniu aktualizacje zasobów zarządzanych (takich jak rekord bazy danych) będą trwałe w obliczu awarii.

Program Windows Communication Foundation (WCF) udostępnia bogaty zestaw funkcji, które umożliwiają tworzenie transakcji rozproszonych w aplikacji usługi sieci Web.

Program WCF implementuje obsługę protokołu WS-AtomicTransaction (WS-AT), który umożliwia aplikacjom WCF przepływ transakcji do aplikacji współdziałających, takich jak międzyoperacyjne usługi sieci Web utworzone przy użyciu technologii innych firm. WCF implementuje również obsługę protokołu transakcji OLE, który może być używany w scenariuszach, w których nie potrzebujesz funkcji międzyoperacyjności w celu włączenia przepływu transakcji.

Możesz użyć pliku konfiguracji aplikacji, aby skonfigurować powiązania w celu włączenia lub wyłączenia przepływu transakcji, a także ustawić żądany protokół transakcji w powiązaniu. Ponadto można ustawić limity czasu transakcji na poziomie usługi przy użyciu pliku konfiguracji. Aby uzyskać więcej informacji, zobacz Włączanie przepływu transakcji.

Atrybuty transakcji w System.ServiceModel przestrzeni nazw umożliwiają wykonanie następujących czynności:

Aby uzyskać więcej informacji, zobacz ServiceModel Transaction Attributes (Atrybuty transakcji ServiceModel).

Zobacz też