none
Duda sobre TransactionScope RRS feed

  • Pregunta

  • saludos quisiera saber si con este tipo de transaccion puedo resolver problemas como con sqlTransaccion, osea que si este tipo de transacciones engloban todo lo que tiene que ver con operaciones CRUD contra un servidor,

     

    gracias de antemano


    Luis Y. Ramirez "Recuerda marcar la repuesta como VALIDA si te ha ayudado"
    martes, 17 de enero de 2012 14:17

Respuestas

  • Sí, todo el código que se ejecute dentro de un bloque ....
    using (TransactionScope scope = new TransactionScope()) 
    { 
         ....  
         scope.Complete(); 
    }
    
    ... se ejecutará de forma transaccional. Es importante llamar a .Complete() al final.
    MCPD Web Developer 4, MCPD Silverlight 4, MCAD .net
    martes, 17 de enero de 2012 14:22

Todas las respuestas

  • Sí, todo el código que se ejecute dentro de un bloque ....
    using (TransactionScope scope = new TransactionScope()) 
    { 
         ....  
         scope.Complete(); 
    }
    
    ... se ejecutará de forma transaccional. Es importante llamar a .Complete() al final.
    MCPD Web Developer 4, MCPD Silverlight 4, MCAD .net
    martes, 17 de enero de 2012 14:22
  • recuerda que el TransactionScope requiere que tengas habilitado el MSTC (Microsoft Distributed Transaction Coordinator)

    el cual es un servicio que posibilita als transacciones distribuidas

    MSDTC Service enable issues when Using .NET TransactionScope.

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 17 de enero de 2012 14:27
  • ultima pregunta, segun este link que me pasaste esta configuracion se hace en el servidor o en todas las maquinas?

     


    Luis Y. Ramirez "Recuerda marcar la repuesta como VALIDA si te ha ayudado"
    martes, 17 de enero de 2012 14:32
  • depende, se supone que las transacciones se hagan centralizadas en un server, por lo tanto seria lli donde lo configuras

    todo depende donde inicias la transaccion, pero no recomiendo que la hagas desde la aplicacion cliente


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 17 de enero de 2012 14:44
  • Buenas, 

    despertó mi interés esta pregunta y leyendo, me ha quedado una duda con tu última aclaración (Leandro). Dices no recomendar iniciar las transacciones desde la aplicación cliente y no entiendo muy bien que quieres decir.

    Por ejemplo, yo trabajo con Adaptadores de datos y DataSets. Cuando voy a realizar una operacion de guardado, uso un codigo de tipo:

    using (TransactionScope scope = new TransactionScope()) 
    { 
         ....  
         scope.Complete(); 
    }

    Entiendo por tanto, que dicho código inicia y, si todo va bien, finaliza una transacción. Y se trata de código que se ejecuta desde el cliente. Hablo, claro está de smart clients. ¿No es correcto hacerlo así? ¿que inconvenientes tiene?

    Saludos.

    martes, 17 de enero de 2012 19:11