Bueno he revisado los links que me enviaron Revise tambien el codigo que expone José y la app de ejemplo
http://joseoncode.com/2011/03/07/create-an-asp-net-mvc-application-with-windsor-and-nhibernate-at-the-speed-of-nuget/ Veo en el Dao lo siguiente, public void CommitCurrentTransaction() { if(Session.Transaction.IsActive) { Session.Transaction.Commit(); } } Este procedimiento a modo de ejemplo es utilizado en el controller, en donde, aún cuando se lanza una exception los cambios surten efecto. Mi pregunta es la siguiente: este procedimiento deberá ser utilizado como parte del codigo, o solo era para demostración ? Saludos Edgar Saludos Edgar El 28 de junio de 2012 09:11, Edgar Ramos <[email protected]> escribió: > Genial, bastante tema por investigar > > Gracias a todos por el aporte > > > Saludos > Edgar > > PD: A mi gente de Alnet, ya saben :), cuando se den una vuelta por > Ecuador, les esperan unos ceviches y unas cervezas > > > El 28 de junio de 2012 05:10, Angel Java Lopez > <[email protected]>escribió: > > Interesante tema! >> >> Bien, me gusta lo de transaction explicita, mejor ser claro y explicito. >> >> Mis enlaces sobre (e historia de) el tema: >> http://delicious.com/ajlopez/nhibernate+session >> >> 2012/6/27 [email protected] <[email protected]> >> >> Hola Edgar, no se como decir esto, pero tengo que contradecir al >>> maestro, creo que si tenés la session de NH en el render de la vista. >>> >>> Cuando hacer el ActionFilter tenés 4 métodos para sobreescribir: >>> >>> Antes de que empiece la acción >>> Después de que se ejecutó la acción >>> Antes del render de la vista >>> Después del render de la vista >>> >>> Lo que tenés que hacer es: >>> Antes de que empiece la acción: abrir session (¿y transacción?) ) y >>> ponerla como current. >>> Después de que se ejecutó la acción: si también estás manejando la >>> transacción: commit o rollback de la transacción según si salió con >>> excepción o no. >>> Después del render de la vista: cerrar session. >>> >>> Corregidme si estoy equivocado. >>> >>> saludos. >>> nelo >>> >>> 2012/6/27 Edgar Ramos <[email protected]>: >>> > Angel, gracias por contestar >>> > >>> > Me gusta mucho el enfoque que propones, de hecho procurare seguirlo, >>> pero >>> > entoces, si este es el caso, sigue habiendo alguna diferencia en usar >>> > uno u otro manejo de la session ? >>> > >>> > >>> > Saludos >>> > Edgar >>> > >>> > El 27 de junio de 2012 13:34, Angel Java Lopez <[email protected]> >>> > escribió: >>> > >>> >> Ah! No se como estara ahora... >>> >> >>> >> Pero lo primero que se me ocurre: >>> >> - En session per action filter, al llegar al render de la vista, no >>> tenes >>> >> una session disponible para resolver cualquier recorrido de coleccion >>> lazy y >>> >> cosas parecidas >>> >> >>> >> Dependera de tu aplicacion, si dejas que en las views se resuelvan >>> cosas >>> >> lazy. >>> >> >>> >> Yo ultimamente no uso ese approach. A lo sumo, con lo que me devuelve >>> >> algun service layer logico al controller, en este controller recorro, >>> >> digamos, los renglones de una factura, y los pongo de forma adecuada >>> en un >>> >> View Model de ASP.NET MVC. Y a mi vista llegan y vienen View Models, >>> y casi >>> >> nunca algo de NHibernate. Con lo que podria usar Session per action >>> filter, >>> >> tranquilamente >>> >> >>> >> Algo levemente relacionado >>> >> >>> >> >>> http://stackoverflow.com/questions/7772704/asp-net-mvc3-3-tier-design-transaction-control-and-business-layer-design-que >>> >> >>> >> 2012/6/27 Edgar Ramos <[email protected]> >>> >>> >>> >>> Gente un saludo >>> >>> >>> >>> Estoy por empezar una aplicacion en asp net mvc 3, y mi duda es la >>> >>> siguiente, hay alguna diferencia en usar session per request o >>> session per >>> >>> action filter ? >>> >>> Entre otras cosas que voy a utilizar estan para el manejo de IoC/ID >>> es >>> >>> Castle Windsor version 3 y nh version 3 >>> >>> >>> >>> >>> >>> Gracias por sus comentarios >>> >>> >>> >>> >>> >>> -- >>> >>> Saludos >>> >>> Edgar >>> >>> >>> >>> -- >>> >>> Para escribir al Grupo, hágalo a esta dirección: >>> >>> [email protected] >>> >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >> >>> >> >>> >> -- >>> >> Para escribir al Grupo, hágalo a esta dirección: >>> >> [email protected] >>> >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> > >>> > >>> > >>> > >>> > -- >>> > Saludos >>> > Edgar >>> > >>> > -- >>> > Para escribir al Grupo, hágalo a esta dirección: >>> > [email protected] >>> > Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> [email protected] >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > > > -- > Saludos > Edgar > > -- Saludos Edgar -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
