Sdílet prostřednictvím


Transakce pracovního postupu

WF poskytuje podporu pro účast v System.Transactions transakcích pomocí TransactionScope aktivity k určení rozsahu transakční jednotky práce. System.Transactions.TransactionScope I když musí být explicitně dokončena System.Activities.Statements.TransactionScope aktivita implicitně volá dokončení transakce po úspěšném dokončení. Všechny aktivity obsažené v Body aktivitě TransactionScope se účastní transakce. WF může tok transakcí do pracovního postupu prostřednictvím použití TransactedReceiveScope aktivity. Podobně jako aktivita TransactionScope se jakákoli aktivita obsažená v Body transakci účastní. WF zajišťuje, aby aktivity závislé na Transaction.Current práci s oběma TransactionScope a TransactedReceiveScope. Pokud aktivity poskytované systémem nevyřešují všechny požadavky, je možné vlastní aktivity sestavit pomocí RuntimeTransactionHandle možností povolit pokročilé scénáře řízení toku a transakcí.

V následujícím příkladu se pracovní postup skládá z Sequence aktivity, která obsahuje podřízené aktivity včetně TransactionScope aktivity. Aktivity BodyTransactionScope provádění v rámci transakce inicializované aktivitou TransactionScope .

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

Další informace naleznete v tématu Použití TransactedReceiveScope, viz Flowing Transactions into and out of Workflow Services.

Viz také