Pregunta

Estamos buscando implementar transacciones en nuestra aplicación web ASP.NET.Es una arquitectura de tres capas. Estamos llamando a los servicios web desde la capa empresarial y planeamos implementar transacciones en el servicio web estableciendo el atributo TransactionOPtion.

Pasando a la capa de datos, ¿es una buena opción implementar transacciones en la capa de datos o debería llamarlo desde la capa de negocios? Si comienzo la transacción desde Business Layer, creo que tendremos que pasar el contexto de la transacción al Datalayer, lo que, en mi opinión, no tiene sentido ya que puedo iniciar la transacción en el Datalyer.No estoy hablando con diferentes bases de datos ni tengo múltiples llamadas a métodos desde BusinessLayer.Por tanto, no creo que debamos tener transacciones en la capa empresarial en este contexto. ¿Podría verificar / corregir mi comprensión?

Gracias

Soni

¿Fue útil?

Solución

Si tiene varias llamadas a la capa de datos desde una llamada a la capa empresarial, no creo que pueda evitar elevar el alcance de la transacción a la capa empresarial.

Si se limita a una llamada de capa de datos por llamada de capa empresarial, entonces, por supuesto, no necesita transacciones a nivel de capa empresarial y puede mantenerlas solo en su capa de datos.

Otros consejos

No facilitará el seguimiento de las transacciones.
La responsabilidad de abrir y cerrar las transacciones pasará a la capa empresarial.
-> El acoplamiento entre las capas será mucho mayor de lo que esperaría cuando llame a un servicio web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top