Dela via


Översikt över Transaktioner i Windows Communication Foundation

Transaktioner ger ett sätt att gruppera en uppsättning åtgärder eller operationer till en enda odelbar körningsenhet. En transaktion är en samling åtgärder med följande egenskaper:

  • Atomicitet. Detta säkerställer att alla uppdateringar som slutförts under en viss transaktion bekräftas och görs varaktiga eller att de alla avbryts och återgår till sitt tidigare tillstånd.

  • Konsekvens. Detta garanterar att de ändringar som görs under en transaktion representerar en transformering från ett konsekvent tillstånd till ett annat. En transaktion som till exempel överför pengar från ett checkkonto till ett sparkonto ändrar inte mängden pengar i det totala bankkontot.

  • Isolering. Detta förhindrar att en transaktion observerar icke-committerade ändringar som hör till andra samtidiga transaktioner. Isolering tillhandahåller en abstraktion av samtidighet samtidigt som en transaktion inte kan ha en oväntad inverkan på utförandet av en annan transaktion.

  • Hållbarhet. Det innebär att när uppdateringar av hanterade resurser (till exempel en databaspost) väl har blivit bekräftade, kommer de att förbli beständiga även vid fel.

Windows Communication Foundation (WCF) innehåller en omfattande uppsättning funktioner som gör att du kan skapa distribuerade transaktioner i webbtjänstprogrammet.

WCF implementerar stöd för protokollet WS-AtomicTransaction (WS-AT) som gör det möjligt för WCF-program att flöda transaktioner till kompatibla program, till exempel driftskompatibla webbtjänster som skapats med hjälp av teknik från tredje part. WCF implementerar också stöd för PROTOKOLLET OLE-transaktioner, som kan användas i scenarier där du inte behöver interop-funktioner för att aktivera transaktionsflödet.

Du kan använda en programkonfigurationsfil för att konfigurera bindningar för att aktivera eller inaktivera transaktionsflöde, samt ange önskat transaktionsprotokoll för en bindning. Dessutom kan du ange tidsgränser för transaktioner på tjänstnivå med hjälp av konfigurationsfilen. Mer information finns i Aktivera transaktionsflöde.

Med transaktionsattribut i System.ServiceModel namnområdet kan du göra följande:

Mer information finns i ServiceModel-transaktionsattribut.

Se även