Sdílet prostřednictvím


Funkce poskytované přes System.Transactions

Tato část popisuje, jak lze pomocí funkce poskytované System.Transactions obor názvů pro zápis vlastní transakční aplikace a zdroj správce. Konkrétně v této části zahrnuje jak vytvořit a účast v transakci (místní nebo distribuované) s jedním nebo více účastníky.

Přehled System.Transactions

Třídy v infrastrukturu System.Transactions obor názvů umožňuje transakční programování jednoduchý a efektivní podporou transakcí vyvolaných v systému SQL Server, ADO.NET, Message Queuing (MSMQ) a společnosti Microsoft distribuované transakce koordinátor MSDTC (). System.Transactions Obor názvů obsahuje oba explicitní programovací model založený na Transaction třídy, jakož i jazyka implicitní programování pomocí modelu TransactionScope třídy, ve kterém jsou transakce automaticky spravuje infrastruktury. Další informace o tom, jak vytvořit transakční aplikaci pomocí těchto dvou modelů, naleznete v tématu Zápis transakční aplikace.

System.Transactions Názvů také obsahuje typy pro vás k implementaci správce prostředků. Správce prostředků spravuje trvalé nebo přechodné dat použitý v transakci a funkcí ve spolupráci se správcem transakcí pro aplikace s zárukou atomicitu a izolaci. Správce transakcí, která je poskytována System.Transactions infrastruktura podporuje transakce zahrnující více těkavých prostředků nebo jeden prostředek trvalý. Další informace o implementaci správce prostředků naleznete v tématu Implementace Resource Manageru.

Správce transakcí také transparentně eskaluje místní transakce na distribuované transakce podle koordinaci se správcem transakcí založené na disku jako ovládacího prvku návrhu, pokud správce další trvalý prostředků zapsán, samotné se transakce. Existují dva způsoby klíče, System.Transactions infrastruktury nabízí lepší výkon.

  • Dynamické eskalace, který zajišťuje, že System.Transactions infrastruktury provede příkaz MSDTC pouze, když transakce zabírá více distribuovaných zdrojů. Další informace o dynamické eskalace. viz Téma Eskalace správy transakcí.

  • Možné zařazení, což umožňuje prostředků, jako je například databáze, převzít vlastnictví transakce, pokud je pouze entity účastnící se transakce. Později, v případě potřeby System.Transactions infrastruktury mohou i nadále eskalovat transakce na příkaz MSDTC pro správu. Tím omezíte další možnost používání příkaz MSDTC. Seznam promotable enlistments jsou podrobně popsány v tématuOptimalizace pomocí jednofázového potvrzení a promotable jednofázové oznámení.

System.Transactions Obor názvů definuje tři úrovně důvěryhodnosti – AllowPartiallyTrustedCallers (APTCA), DistributedTransactionPermission(DTP) a úplný vztah důvěryhodnosti - omezit přístup pro typy prostředků zpřístupňuje. Další informace o různýchúrovních

V této části

Zápis transakční aplikace

System.Transactions Obor názvů poskytuje dva modely pro vytváření transakční aplikací. Implementace implicitní transakce pomocí oboru transakce popisuje, jak System.Transactions obor názvů podporuje vytváření implicitních transakcí pomocí TransactionScope třídy.

Implementace explicitní transakce pomocí CommittableTransaction popisuje, jak System.Transactions obor názvů podporuje vytváření explicitních transakcí pomocí CommittableTransaction třídy.

Další témata týkající se psaní transakční aplikace naleznete v tématu Psaní transakční aplikace.

Implementace správce prostředků

Pokud chcete implementovat správce prostředků, který se může účastnit transakce, přečtěte si téma Implementace Resource Manageru. Tato část zahrnuje zařazení materiálu, potvrzení transakcí, obnovení po selhání a osvědčené postupy pro optimalizaci.