Delen via


Overzicht van Windows Communication Foundation-transacties

Transacties bieden een manier om een set acties of bewerkingen te groeperen in één ondizichtbare uitvoeringseenheid. Een transactie is een verzameling bewerkingen met de volgende eigenschappen:

  • Atomiciteit. Dit zorgt ervoor dat alle updates die zijn voltooid onder een specifieke transactie, worden doorgevoerd en duurzaam worden gemaakt, of dat ze allemaal worden afgebroken en teruggedraaid naar hun vorige status.

  • Consistentie. Dit garandeert dat de wijzigingen die zijn aangebracht onder een transactie een transformatie van de ene consistente status naar de andere vertegenwoordigen. Een transactie die geld overdraagt van een bankrekening naar een spaarrekening, verandert bijvoorbeeld niet het bedrag van het geld op de totale bankrekening.

  • Isolatie. Hiermee voorkomt u dat een transactie niet-doorgevoerde wijzigingen van andere gelijktijdige transacties waarneem. Isolatie biedt een abstractie van gelijktijdigheid en zorgt ervoor dat één transactie geen onverwachte invloed kan hebben op de uitvoering van een andere transactie.

  • Duurzaamheid. Dit betekent dat updates voor beheerde resources (zoals een databaserecord) na het vastleggen van fouten blijvend zijn.

Windows Communication Foundation (WCF) biedt een uitgebreide set functies waarmee u gedistribueerde transacties in uw webservicetoepassing kunt maken.

WCF implementeert ondersteuning voor het WS-AtomicTransaction-protocol (WS-AT) waarmee WCF-toepassingen transacties kunnen doorstromen naar interoperabele toepassingen, zoals interoperabele webservices die zijn gebouwd met behulp van technologie van derden. WCF implementeert ook ondersteuning voor het OLE Transactions-protocol, dat kan worden gebruikt in scenario's waarin u geen interop-functionaliteit nodig hebt om transactiestroom in te schakelen.

U kunt een toepassingsconfiguratiebestand gebruiken om bindingen te configureren om transactiestroom in of uit te schakelen, en het gewenste transactieprotocol voor een binding in te stellen. Daarnaast kunt u time-outs voor transacties instellen op serviceniveau met behulp van het configuratiebestand. Zie Transactiestroom inschakelen voor meer informatie.

Met transactiekenmerken in de System.ServiceModel naamruimte kunt u het volgende doen:

Zie ServiceModel Transaction Attributes voor meer informatie.

Zie ook