Hola Julio, gracia por responder, voy a verificar la configuración del DTC a 
ver que pasa.
 
Tengo otra consulta.
 
Como es que implemento la generacion de un Scope transaccional (o alguna 
alternativa) a nivel lógica de negocio sin tener que referenciar a conexiones 
de datos, SQL en este caso?
Por ejemplo este caso, donde agrego un scope a las reglas de negocios que 
genera un par de llamadas a una capa de Datos y persiste unos valores, 
funcionaría?
 

private static void TranferirMontoEntreCuentas(decimal monto, object 
cuentaOrigen, object cuentaDestino) 

{

    try

    {

        using (TransactionScope scope = new TransactionScope())

        {

            AccountData.DebitarMonto(cuentaOrigen, monto);//Metodo de una DALC 
que conecta/desconecta con la BD

            AccountData.AcreditarMonto(cuentaDestino, monto);//Metodo de una 
DALC que conecta/desconecta con la BD

            AccountData.RegistrarTransferencia(cuentaOrigen, cuentaDestino, 
monto);//Metodo de una DALC que conecta/desconecta con la BD

            scope.Complete();

        }

    }

    catch (Exception ex)

    {

        throw ex;

    }

}

 

Se que Windows Comunication Foundation labura con transacciones y tscope, 
alguien lo está utilizando en un caso transaccional?
Muchas gracias!!!!

Atte.-
Mariano López
Departamento de Sistemas
Boston Cía. Arg. de Seguros S.A.
Suipacha 268. Piso 3°. Cap. Fed.
Tel.: 4324-5555 (int. 4674) / Fax.: 4324-5556
[EMAIL PROTECTED] 

 

________________________________

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Julio E. Szabo
Enviado el: Viernes, 11 de Mayo de 2007 14:32 p.m.
Para: [email protected]
Asunto: [puntonet] RE: [puntonet] TransactionScope + SQL2000 ¿funciona...??



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

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

www.ctlcorp.com.ar <http://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

Responder a