A System.Transactions által biztosított szolgáltatások
Ez a szakasz azt ismerteti, hogyan használhatja a System.Transactions névtér által biztosított funkciókat saját tranzakciós alkalmazás és erőforrás-kezelő írásához. Ez a szakasz konkrétan azt ismerteti, hogyan hozhat létre és vehet részt egy (helyi vagy elosztott) tranzakcióban egy vagy több résztvevővel.
A System.Transactions áttekintése
A névtér osztályai által biztosított infrastruktúra egyszerűvé és hatékonyabbá teszi a System.Transactions tranzakciós programozást az SQL Server, a ADO.NET, a Message Queuing (MSMQ) és a Microsoft Distributed Transaction Coordinator (MSDTC) által kezdeményezett tranzakciók támogatásával. A System.Transactions névtér az osztályon Transaction alapuló explicit programozási modellt, valamint az osztályt használó TransactionScope implicit programozási modellt is biztosít, amelyben a tranzakciókat az infrastruktúra automatikusan felügyeli. A tranzakciós alkalmazás e két modell használatával történő létrehozásáról további információt a Tranzakciós alkalmazás írása című témakörben talál.
A System.Transactions névtér típusokat is biztosít az erőforrás-kezelő implementálásához. Az erőforrás-kezelő kezeli a tranzakcióban használt tartós vagy változékony adatokat, és együttműködik a tranzakciókezelővel annak érdekében, hogy az alkalmazás garantálja az atomitást és az elkülönítést. Az infrastruktúra által biztosított tranzakciókezelő támogatja a System.Transactions több változó erőforrást vagy egyetlen tartós erőforrást érintő tranzakciókat. Az erőforrás-kezelő implementálásával kapcsolatos további információkért lásd : Resource Manager implementálása.
A tranzakciókezelő emellett transzparens módon eszkalálja a helyi tranzakciókat az elosztott tranzakciókra azáltal, hogy együttműködik egy lemezalapú tranzakciókezelővel, például a DTC-vel, amikor egy további tartós erőforrás-kezelő bevonja magát egy tranzakcióba. Az infrastruktúra két fő módon System.Transactions biztosít jobb teljesítményt.
Dinamikus eszkaláció, amely biztosítja, hogy az System.Transactions infrastruktúra csak akkor vonja be az MSDTC-t, ha egy tranzakció több elosztott erőforrásra terjed ki. További információ a dinamikus eszkalációról. lásd: Tranzakciókezelési eszkaláció témakör.
Promóciós regisztrációk, amelyek lehetővé teszik, hogy egy erőforrás( például egy adatbázis) a tranzakció tulajdonjogát vegye át, ha ez az egyetlen entitás, amely részt vesz a tranzakcióban. Később, ha szükséges, az System.Transactions infrastruktúra továbbra is eszkalálhatja a tranzakció kezelését az MSDTC-nek. Ez tovább csökkenti az MSDTC használatának esélyét. A promotable-regisztrációk részletes ismertetését az Optimalizálás egyfázisú véglegesítés és a Promotable egyfázisú értesítés használatával című témakörismerteti.
A System.Transactions névtér három megbízhatósági szintet határoz meg – Az AllowPartiallyTrustedCallers (APTCA), az DistributedTransactionPermission(DTP) és a teljes megbízhatóság –, amelyek korlátozzák a hozzáférést az általa elérhető erőforrástípusokhoz. A különböző megbízhatósági szintekről további információt az erőforrások elérésének biztonsági megbízhatósági szintjei című témakörben talál.
A szakasz tartalma
Tranzakciós alkalmazás írása
A System.Transactions névtér két modellt biztosít a tranzakciós alkalmazások létrehozásához. Implicit tranzakció tranzakcióhatókörrel történő implementálása azt ismerteti, hogy a névtér hogyan támogatja implicit System.Transactions tranzakciók létrehozását az TransactionScope osztály használatával.
Az Explicit tranzakció implementálása a CommittableTransaction használatával azt ismerteti, hogy a névtér hogyan támogatja az System.Transactions explicit tranzakciók létrehozását az CommittableTransaction osztály használatával.
A tranzakciós alkalmazások írásával kapcsolatos további témakörökért lásd : Tranzakciós alkalmazás írása.
Resource Manager implementálása
A tranzakcióban részt vevő erőforrás-kezelő implementálásával kapcsolatban lásd : Resource Manager implementálása. Ez a szakasz egy erőforrás beléptetését, egy tranzakció véglegesítését, a hiba utáni helyreállítást és az optimalizálási ajánlott eljárásokat ismerteti.