transaction transacciones framework examples c# .net vb.net transactionscope

transacciones - transactionscope c# oracle



¿Cómo usar TransactionScope correctamente? (1)

Siempre quiero tratar de usar TransactionScope pero no puedo entender qué es lo que la gente ve al respecto. Así que tomemos un ejemplo:

using(TransactionScope tran = new TransactionScope()) { CallAMethodThatDoesSomeWork1(); CallAMethodThatDoesSomeWork2(); tran.Complete(); }

Entonces, la pregunta más básica: ¿cómo escribo " CallAMethodThatDoesSomeWork1() " para que sepa cómo CallAMethodThatDoesSomeWork2() sus acciones si digamos " CallAMethodThatDoesSomeWork2() " arroja una excepción?


El código dentro de los métodos que llama debe ser consciente de la transacción y alistarse en la transacción activa. Esto significa crear o usar clases que son administradores de recursos (vea Implementar su propio Administrador de recursos) .

Para ello, implemente IEnlistmentNotification y IEnlistmentNotification en la transacción. Cuando se completa la transacción, el administrador de transacciones llamará a los métodos definidos en esa interfaz para que su código pueda hacer / deshacer el trabajo.