nhibernate transactions

Mejores prácticas de transacciones de NHibernate



transactions (3)

Realmente depende de tu entorno. Por ejemplo, utilizamos el patrón Open-Session-In-View (enlace Java pero el patrón es el mismo en .NET) en un sitio ASP.Net y usamos un HttpModule para controlar sesiones y transacciones. El HttpModule abre una sesión e inicia una transacción en el evento BeginRequest y luego confirma la transacción y cierra la sesión en el evento EndRequest.

Diferentes entornos y patrones de comunicación conducirán a diferentes estrategias de gestión de sesión / transacción.

Existe una gran cantidad de discusiones sobre las diversas estrategias en el Grupo de usuarios de NHibernate , así como en la web en general.

He estado leyendo sobre Nhibernate por un tiempo y he estado tratando de usarlo para un sitio que estoy implementando. Leí el artículo de Billy McCafferty sobre las mejores prácticas de NHibernate, pero no vi ninguna indicación sobre dónde es el mejor lugar para manejar las transacciones.

Pensé en poner ese código en el Objeto de acceso a datos (DAO) pero luego no estoy seguro de cómo manejar los casos en los que se usa más de un DAO. ¿Cuáles son los mejores lugares para poner código de transacción en su aplicación NHibernate?