Dela via


Arbetsflödestransaktioner

WF ger stöd för att delta i System.Transactions transaktioner genom att använda TransactionScope aktiviteten för att begränsa en transaktionsenhet. System.Transactions.TransactionScope Även om aktiviteten måste slutföras explicit anropar System.Activities.Statements.TransactionScope den implicit slutförda transaktionen när den har slutförts. Alla aktiviteter som ingår i BodyTransactionScope aktiviteten deltar i transaktionen. WF kan flöda transaktioner till ett arbetsflöde med hjälp av TransactedReceiveScope aktiviteten. Precis som TransactionScope aktiviteten deltar alla aktiviteter som ingår i Body transaktionen. WF säkerställer att aktiviteter som är beroende Transaction.Current av fungerar med både TransactionScope och TransactedReceiveScope. Om de systembaserade aktiviteterna inte uppfyller alla krav kan anpassade aktiviteter skapas med hjälp av RuntimeTransactionHandle scenarier för avancerat flöde och transaktionskontroll.

I följande exempel skapas ett arbetsflöde som består av en Sequence aktivitet som innehåller underordnade aktiviteter, inklusive en TransactionScope aktivitet. Aktiviteterna Body för körningen TransactionScope under transaktionen som initierats av TransactionScope aktiviteten.

static Activity ScenarioOne()
{
    return new Sequence
    {
        Activities =
        {
            new WriteLine { Text = "    Begin workflow" },

            new TransactionScope
            {
                Body = new Sequence
                {
                    Activities =
                    {
                        new WriteLine { Text = "    Begin TransactionScope" },

                        new PrintTransactionId(),

                        new TransactionScopeTest(),

                        new WriteLine { Text = "    End TransactionScope" },
                    },
                },
            },

            new WriteLine { Text = "    End workflow" },
        }
    };
}

Mer information finns i om hur du använder TransactedReceiveScope, i Flowing Transactions into and out of Workflow Services (Flöda transaktioner till och från Arbetsflödestjänster).

Se även