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


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.