Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A WF támogatást nyújt a tranzakciókban System.Transactions való részvételhez azáltal, hogy a TransactionScope tevékenység segítségével hatókört biztosít egy tranzakciós munkaegységre. Bár a System.Transactions.TransactionScope tevékenységnek explicit módon kell befejeződnie, a System.Activities.Statements.TransactionScope tevékenység implicit módon befejezettnek hívható a tranzakción a sikeres befejezés után. Bármely tevékenység, amely a BodyTransactionScope tevékenységében szerepel, részt vesz a tranzakcióban. A Workflow Foundation a TransactedReceiveScope tevékenység használatával tranzakciókat képes továbbítani egy munkafolyamatba. A tevékenységhez TransactionScope hasonlóan a Body tranzakcióban szereplő összes tevékenység is részt vesz a tranzakcióban. WF biztosítja, hogy a Transaction.Current-tól függő tevékenységek mind TransactionScope-el és TransactedReceiveScope-vel működjenek. Ha a rendszer által biztosított tevékenységek nem felelnek meg az összes követelménynek, egyéni tevékenységek hozhatók létre a RuntimeTransactionHandle speciális folyamat- és tranzakcióvezérlési forgatókönyvek engedélyezéséhez.
Az alábbi példában egy munkafolyamat olyan tevékenységből áll Sequence , amely gyermektevékenységeket tartalmaz, beleértve egy TransactionScope tevékenységet is. A Body tevékenység által inicializált tranzakció alatt a TransactionScope tevékenységeket a TransactionScope hajtja végre.
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" },
}
};
}
További információért tekintse meg a TransactedReceiveScope használatát, és olvassa el a tranzakciók munkafolyamat-szolgáltatásokba és onnan kifelé történő áramlását.