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