Estoy escribiendo un ASP.NET MVC simple usando sesión por solicitud y transacción por patrones de solicitud (HttpModule personalizado). Parece que funciona correctamente, pero ... el rendimiento es terrible (una página simple carga ~ 7 segundos). Para cada pedido HTTP, se crean recursos gráficos que incluyen todas las imágenes del sitio y esto parece retrasar los tiempos de carga (sin que los tiempos de carga de las transacciones por una imagen sean ~ 1-10 ms con transacciones de más de 1 segundo) . ¿Cuál es la forma correcta de gestionar las transacciones en la pila ASP.NET MVC + NH?Administración de transacciones NHibernate en ASP.NET MVC: ¿cómo se debe hacer?
Cuando puse todas las transacciones en mis métodos de repositorio, por alguna oscura razón recibí una advertencia de "transacciones implícitas" en NHProf (las sentencias SQL se ejecutaron fuera de la transacción, incluso en el código session.Save()/Update ()/etc métodos fueron invocados dentro de la transacción 'using' scope y before transaction.Commit() call) BTW son transacciones implícitas realmente malas?
¿Por qué está habilitando transacciones para operaciones de lectura? –
@Dave Swersky Porque es una buena práctica usar siempre transacciones independientemente de si está leyendo o guardando. Consulte http://nhprof.com/Learn/Alerts/DoNotUseImplicitTransactions para obtener más información. –