+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:
> [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

Responder a