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

Responder a