Digo algo y me voy a dormir: El tema es que es bastante barato hacer un new de una session, asi que no hay problemas de performance si abrimos una session por un gif.
Saludos amigos 2012/6/27 José F. Romaniello <[email protected]> > O podes usar algo como esto que publique aca: > > > http://nhforge.org/blogs/nhibernate/archive/2011/03/03/effective-nhibernate-session-management-for-web-apps.aspx > > > http://joseoncode.com/2011/03/03/effective-nhibernate-session-management-for-web-apps/ > > La idea de lo que puse ahí es que sea implicito para todo pero lazy. La > session se abre la primera vez que se usa y dura para todo el request. De > esta forma un request a algo que no usa nhibernate no abre session > (ejemplo: imagenes, js y otras cosas) y me evito tener que declarar > explicitamente que rutas usan acceso a datos. > > El miércoles, 27 de junio de 2012, Carlos Peix escribió: > > +1, se puede con Action Filter desde el comienzo de la accion hasta el fin >> de la vista. >> >> public override void OnActionExecuting(ActionExecutingContext >> filterContext); >> y >> public override void OnResultExecuted(ResultExecutedContext >> filterContext); >> >> Se puede hacer, desde MVC 3, con un Global Action Filter... >> >> De todas maneras, eso no significa que te despreocupes del lazy en la >> vista. Hay que monitorear, como siempre, esas cuestiones para ver si >> complican el rendimiento. >> >> Saludos Edgar! >> Extraño el ceviche ecuatoriano! >> >> ---------------------------------- >> Carlos Peix >> >> 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: >> >> >> -- >> 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 > -- Dario Quintana -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
