Megosztás a következőn keresztül:


A tranzakció alapjai

A tranzakciók több tevékenységet kötnek össze. Tegyük fel például, hogy egy alkalmazás két feladatot hajt végre. Először létrehoz egy új táblát egy adatbázisban. Ezután egy speciális objektumot hív meg adatok gyűjtésére, formázására és beszúrására az új táblába. Ez a két tevékenység kapcsolódik egymáshoz, és akár egymástól is függ, így nem szeretne új táblát létrehozni, hacsak nem tudja adatokat kitölteni. Ha mindkét feladatot egyetlen tranzakció hatókörén belül hajtja végre, az kikényszeríti a köztük lévő kapcsolatot. Ha a második feladat meghiúsul, az első tevékenység vissza lesz állítva egy pontra az új tábla létrehozása előtt.

A kiszámítható viselkedés biztosításához minden tranzakciónak rendelkeznie kell az alapvető ACID-tulajdonságokkal (atomi, konzisztens, izolált és tartós). Ezek a tulajdonságok megerősítik a kritikus fontosságú tranzakciók szerepét minden vagy egyik ajánlatként sem. Az ACID-ról további információt az ACID tulajdonságai című témakörben talál. Összefoglalva, az ACID garantálja, hogy a kapcsolódó tevékenységek egy része egységként sikeres vagy sikertelen legyen. A tranzakciófeldolgozás terminológiájában a tranzakció véglegesítése vagy megszakítása. A tranzakció véglegesítéséhez minden résztvevőnek garantálnia kell, hogy az adatok módosítása végleges legyen. A módosításoknak a rendszer összeomlása vagy más előre nem látható események ellenére is meg kell őriznie. Ha még egyetlen résztvevő sem teljesíti ezt a garanciát, a teljes tranzakció meghiúsul. A tranzakció hatókörén belüli összes adatmódosítás vissza lesz állítva egy adott beállítási pontra.

A tranzakciók egyetlen adaterőforrásra, például adatbázisra vagy üzenetsorra korlátozhatók. Ebben a forgatókönyvben a helyi tranzakciót a Tranzakciókezelő System.Transactions kezeli, amely teljesítménynövekedést hoz létre. Az adaterőforrás által vezérelve ezek a tranzakciók hatékonyak és könnyen kezelhetők.

A tranzakciók több adaterőforrásra is kiterjedhetnek. Az elosztott tranzakciók lehetővé teszik, hogy a különböző rendszereken előforduló különböző műveleteket egyetlen továbbítási vagy feladatműveletbe foglalja bele. Ebben a forgatókönyvben a tranzakciókat az egyes rendszerekben található Microsoft Distributed Transaction Coordinator (MSDTC) koordinálja.

Ha tranzakciós alkalmazást fejleszt a megadott System.Transactionsosztályok használatával, nem kell aggódnia amiatt, hogy milyen típusú tranzakciókra van szüksége, vagy az érintett tranzakciókezelővel. Az System.Transactions infrastruktúra automatikusan kezeli ezeket az Ön számára.

Tranzakció létrehozásakor megadhatja a tranzakcióra vonatkozó elkülönítési szintet. Az enumerálás által IsolationLevel meghatározott elkülönítési szint határozza meg, hogy az egyéb tranzakciók milyen hozzáférési szinttel rendelkezzenek a tranzakció által érintett adatokhoz.

Tranzakciókat ADO.NET vagy System.EnterpriseServicesa névtér által System.Transactions biztosított tranzakciós programozási modell használatával hozhat létre. A System.Transactions által biztosított szolgáltatások témakör ismerteti azokat a szolgáltatásokat, amelyekkel tranzakciós alkalmazásokat írhat a System.Transactions névtér használatával.

Lásd még