Si utilizas el Data Access Application Block que viene con las Enterprese
Library 3.1, no vas a tener problema.
http://www.codeplex.com/entlib

En el proyecto que estoy trabajando utilizamos System.Transactions y con las
últimas versiones del DAAB las transacciones ya no escalan las transacciones
a DTC.
Siempre suponiendo que la base de datos es SQL server 2005!!!

Saludos,



-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Juan
Carlos Garcia
Sent: miércoles, 24 de octubre de 2007 18:13
To: [email protected]
Subject: [puntonet] Implementar System.Transactions

        Investigando un poco como implementar la API System.Transactions,
(nueva en
el framework 2.0), me encuentro con un pequeño problema o error conceptual
del diseño de la misma por el cual:

        Si dentro de una misma transacción se crea más de una conexión,
aunque no
sea al mismo tiempo, y aunque ambas conexiones sean idénticas la transacción
es promovida automáticamente a DTC lo cual tiene serias penalidades en
terminos de performance para la aplicación. Sobre todo para el caso de
aplicaciones sencillas que acceden a un único recurso, (es decir a la misma
base de datos en el mismo servidor) y no requieren de una transacción
distribuida.

        Por lo que estuve investigando, este problema es conocido y se
encuentra
comentado en el siguiente feedback de Microsoft "Transactions "needlessly"
promote when using the same connection" en
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?Feedbac
kID=171884
y en la discusión "Unwanted promotion using TransactionScope" en los foros
de microsoft en
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=113669&SiteID=1.

        Al parecer este problema debería solucionarse en una próxima
release, pero
mientras tanto hay algunos posibles workaround's al problema, como se
comenta en:

        - http://blogs.msdn.com/dataaccess/archive/2006/02/14/532026.aspx
        -
http://geeks.ms/blogs/ivan/archive/2006/09/27/Sobre-las-transacciones_2C00_-
las-conexiones_2C00_-el-LTM-y-el-DTC.aspx

        De ambas soluciones me gusta más la segunda, pero en fin, lo que
quería
saber, y para eso los molesto, es si ustedes están utilizando
System.Transactions, que experiencia tienen, que solución les parece mejor
para el problema de la promoción innecesaria de LTM a DTC.

        Desde ya, muchas gracias y saludos a todos!!!

Ing. Juan Carlos Garcia
Dto. Sistemas
Manuel Tienda León
mailto:[EMAIL PROTECTED]







Responder a