La forma como casi todo el mundo trabaja las sessiones de nhibernate en web es mediante un patrón que se llama session per request, esto quiere decir que una sesión se abre al iniciar un request .... Y se cierra al terminar el request. En MVC se puede hacer en dos lugares, Action Filter o en los eventos de la HttpApplication.
Gisela lo explica muy bien acá, con Action Filter: http://geeks.ms/blogs/gtorres/archive/2009/11/04/aspnet-mvc-nhibernate-session-per-request-y-action-filters.aspx Y acá hay un ejemplo mio, usando los eventos de HttpApplication: http://jfromaniello.blogspot.com/2009/11/como-usar-session-per-request-con.html El 10 de agosto de 2010 17:04, Maria Teresa Ruiz Espinosa < [email protected]> escribió: > Lo tengo que mirar, por que ahora no tengo el código, mañana te lo comento. > > Quizás te estés refiriendo que estemos metiendo sesiones continuamente y no > las saquemos y esto produzca problemas no? > > En principio que me acuerde no las sacamos del SessionStorage, pero te lo > confirmo esto mañana. > > > El 10 de agosto de 2010 21:58, José F. Romaniello > <[email protected]>escribió: > >> >> Lo que me da un poco de miedo es esto: >> >> El 10 de agosto de 2010 15:58, Maria Teresa Ruiz Espinosa < >> [email protected]> escribió: >> >> >>> ISession session = SessionStorage.Session(database); >>> if (session == null) >>> { >>> session = _sessionFactory[database].OpenSession(); >>> SessionStorage.SetSession(database, session); >>> } >> >> >> Cual es el ciclo de vida de SessionStorage, cuando sacas de ahí adentro la >> session? >> >> -- >> 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
