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).