Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Transakce spojují více úkolů dohromady. Představte si například, že aplikace provádí dvě úlohy. Nejprve vytvoří novou tabulku v databázi. Dále volá specializovaný objekt, který bude shromažďovat, formátovat a vkládat data do nové tabulky. Tyto dva úkoly spolu souvisejí a dokonce vzájemně souvisejí, takže chcete zabránit vytvoření nové tabulky, pokud ji nebudete moct vyplnit daty. Provádění obou úloh v rámci jedné transakce vynucuje propojení mezi nimi. Pokud druhý úkol selže, první úkol se před vytvořením nové tabulky vrátí zpět do bodu.
Aby se zajistilo předvídatelné chování, musí mít všechny transakce základní vlastnosti ACID (atomické, konzistentní, izolované a odolné). Tyto vlastnosti posílily roli kritických transakcí jako nabídky typu all-or-none. Další informace o acid naleznete v tématu Vlastnosti ACID. V souhrnu ACID zaručuje, že sada souvisejících úkolů buď se zdaří, nebo selže jako celek. V terminologii zpracování transakcí se transakce buď potvrdí, nebo zruší. Aby transakce byla potvrzena, musí všichni účastníci zaručit, že jakákoli změna dat bude trvalá. Změny musíte zachovat navzdory zhroucení systému nebo jiné nepředvídatelné události. Pokud se i jednomu účastníkovi nepodaří tuto záruku zajistit, celá transakce selže. Všechny změny dat v rámci rozsahu transakce se vrátí zpět do konkrétního nastaveného bodu.
Transakce může být omezena na jeden datový prostředek, jako je databáze nebo fronta zpráv. V tomto scénáři je místní transakce spravována správcem transakcí poskytovaným System.Transactions, což umožňuje vyšší výkon. Řízené datovým prostředkem jsou tyto transakce efektivní a snadno spravovatelné.
Transakce mohou také zahrnovat více datových prostředků. Distribuované transakce umožňují začlenit několik různých operací, ke kterým dochází v různých systémech, do jediné akce průchodu nebo selhání. V tomto scénáři jsou transakce koordinovány službou Microsoft Distributed Transaction Coordinator (MSDTC), která se nachází v každém systému.
Při vývoji transakční aplikace pomocí tříd poskytovaných System.Transactions nemusíte si dělat starosti s tím, jaký typ transakcí potřebujete nebo jaký transakční manažer je použit. Infrastruktura System.Transactions je automaticky spravuje za vás.
Při vytváření transakce můžete zadat úroveň izolace, která se vztahuje na transakci. Úroveň izolace definovaná výčtem IsolationLevel určuje, jakou úroveň přístupu budou mít ostatní transakce k datům ovlivněným vaší transakcí.
Pomocí ADO.NET, System.EnterpriseServices, nebo transakčního programovacího modelu poskytovaného oborem názvů System.Transactions můžete vytvořit transakce. Téma Funkce poskytované System.Transactions popisuje funkce, které můžete použít k zápisu transakční aplikace pomocí oboru názvů System.Transactions.