A Windows Communication Foundation tranzakcióinak áttekintése
A tranzakciók lehetővé teszik a műveletek vagy műveletek egy csoportjának egyetlen oszthatatlan végrehajtási egységbe való csoportosítását. A tranzakciók a következő tulajdonságokkal rendelkező műveletek gyűjteményei:
Atomiság. Ez biztosítja, hogy egy adott tranzakció során végrehajtott összes frissítés véglegesítve legyen és tartóssá legyen téve, vagy mind megszakadjon, és visszagördüljön a korábbi állapotába.
Konzisztencia. Ez garantálja, hogy a tranzakciók során végrehajtott módosítások egy konzisztens állapotból egy másikba történő átalakítást jelentenek. Például egy olyan tranzakció, amely pénzt utal át egy folyószámláról egy megtakarítási számlára, nem változtatja meg a teljes bankszámlán lévő pénz mennyiségét.
Elkülönítés. Ez megakadályozza, hogy egy tranzakció megfigyelje a más egyidejű tranzakciókhoz tartozó nem véglegesített módosításokat. Az elkülönítés az egyidejűség absztrakcióját biztosítja, miközben biztosítja, hogy az egyik tranzakció ne legyen váratlan hatással egy másik tranzakció végrehajtására.
Tartósság. Ez azt jelenti, hogy a véglegesítése után a felügyelt erőforrások (például egy adatbázisrekord) frissítései a hibák miatt állandóak lesznek.
A Windows Communication Foundation (WCF) számos olyan funkciót biztosít, amelyekkel elosztott tranzakciók hozhatók létre a webszolgáltatás-alkalmazásban.
A WCF támogatja a WS-AtomicTransaction (WS-AT) protokollt, amely lehetővé teszi, hogy a WCF-alkalmazások tranzakciókat bonyolítsanak át az interoperábilis alkalmazásokba, például a külső technológiával létrehozott, interoperábilis webszolgáltatásokba. A WCF támogatja az OLE Transactions protokollt is, amely olyan helyzetekben használható, ahol nincs szükség interop funkciókra a tranzakciófolyamat engedélyezéséhez.
Egy alkalmazáskonfigurációs fájl használatával konfigurálhatja a kötéseket a tranzakciós folyamat engedélyezéséhez vagy letiltásához, valamint beállíthatja a kívánt tranzakciós protokollt egy kötésen. Emellett a konfigurációs fájl használatával szolgáltatási szinten is beállíthatja a tranzakciós időtúllépéseket. További információ: Tranzakciófolyamat engedélyezése.
A névtér tranzakcióattribútumai lehetővé System.ServiceModel teszik a következőket:
Konfigurálja a tranzakciós időtúllépéseket és az elkülönítési szintű szűrést az ServiceBehaviorAttribute attribútum használatával.
Engedélyezze a tranzakciók funkcióit, és konfigurálja a tranzakciók befejezésének viselkedését az OperationBehaviorAttribute attribútum használatával.
A tranzakciós folyamat megköveteléséhez, engedélyezéséhez vagy elutasításához használja a ServiceContractAttributeOperationContractAttribute szerződéses metódus és attribútumokat.
További információ: ServiceModel Transaction Attributes.