Udostępnij za pośrednictwem


Transakcje przepływu pracy

Platforma WF zapewnia obsługę uczestnictwa w System.Transactions transakcjach przy użyciu TransactionScope działania w celu określenia zakresu transakcyjnej jednostki pracy. System.Transactions.TransactionScope Mimo że działanie musi zostać jawnie ukończoneSystem.Activities.Statements.TransactionScope, niejawnie wywołuje transakcję po pomyślnym zakończeniu. Wszystkie działania zawarte w BodyTransactionScope działaniu uczestniczą w transakcji. Platforma WF może przepływać transakcje do przepływu pracy za pomocą TransactedReceiveScope działania. Podobnie jak działanie TransactionScope , każde działanie zawarte w Body transakcji uczestniczy. Program WF zapewnia, że działania zależne od Transaction.Current pracy z usługami TransactionScope i TransactedReceiveScope. Jeśli działania dostarczone przez system nie spełniają wszystkich wymagań, działania niestandardowe można utworzyć przy użyciu polecenia RuntimeTransactionHandle , aby umożliwić zaawansowane scenariusze przepływu i kontroli transakcji.

W poniższym przykładzie tworzony jest przepływ pracy składający się z działania zawierającego Sequence działania podrzędne, w tym TransactionScope działania. Działania BodyTransactionScope wykonania w ramach transakcji zainicjowanej TransactionScope przez działanie.

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" },
        }
    };
}

Aby uzyskać więcej informacji, zobacz artykuł TransactedReceiveScopeFlowing Transactions into and out of Workflow Services (Przepływ transakcji do i z usług przepływu pracy).

Zobacz też