Hola Mariano, Yo he realizado implementaciones reales de Transaction Scope y la verdad que funciona de maravillas, eso si, tiene su vuelta.
Te tiro algunos tips para que valides: Tenés que configurar el MSDTC para que acepte acceso desde la red y un par de opciones mas, esto lo haces desde COM+, tanto en la maquina donde corre la aplicación, como en la maquina donde corre la DB. Tenés que tener el servicio Coordinador de Transacciones Distribuida en automático o cada vez q lo vas a usar prenderlo. Fijate que si te falta algo de esto, seguramente nunca te va a funcionar. Saludos, Julio E. Szabo Desarrollo Compañia de Tecnologías Latinoamericana <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED] <http://www.ctlcorp.com.ar> www.ctlcorp.com.ar tel: +54 (351) 423 7176 cel: (+54 9) (351) (15) 5 556048 The information in this message is confidential and may be legally privileged. It is intended solely for the addressee(s). Access to this message by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying or distribution of the message, or any action or omission taken by you in reliance on it, is prohibited and may be unlawful. Please immediately contact the sender if you have received this message in error. _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Lopez, Mariano F. Enviado el: martes, 08 de mayo de 2007 13:37 Para: [email protected] Asunto: [puntonet] TransactionScope + SQL2000 ¿funciona...?? Importancia: Alta Hola gente como andan?? Estamos realizando una prueba con Transaction Scopeen .Net, contra una base de datos alojada en SQL2000 (con DTC activado). El problema se nos da al ejecutar una rutina y forzar una excepción para ver si realiza el rollback, el cual no lo hace. La pregunta es basicamente, si conocen alguna implementación real de Transaction Scope con SQL2000y si hubiera algo que podría estar faltando en la configuración del server o en el código. Gracias. Mariano public static void newTransactionalBlock(string descripcion,string descripcion1) { try { using(TransactionScope scope = new TransactionScope()) { using(SqlConnection conn = new SqlConnection(coneccion1)) { SqlHelper.ExecuteNonQuery(conn, "InsertInFedericoPrueba", descripcion); SqlHelper.ExecuteNonQuery(conn,"InsertInFedericoPrueba1",1, descripcion1); throw new ApplicationException("Error test"); //Aca debería producir el rollback.... } scope.Complete(); } catch (Exception ex) { throw ex; } } __________ NOD32 2249 (20070508) Information __________ This message was checked by NOD32 antivirus system. http://www.nod32.com
