la session "lo mas corto" ? seguro no hay que tener una sola session para toda la app, pero "corto" ?
2010/8/9 Gustavo Ringel <[email protected]> > ISessionStorage, me suena a dinamita... > En la documentacion de NH dice que session tiene que ser lo mas corto > posible y apenas da una excepcion hay que tirarla > Ahi lo que parece es que crean una session al principio y van devolviendo > la misma session, no se cual es el life cycle, pero bueno...fijense bien si > estan siguiendo los principios de manejo de session. > > Gustavo. > > 2010/8/9 NM <[email protected]> > >> Este es nuestro método mediante el cual obtenemos session >> >> >> public static ISession Session(string database) >> { >> if (SessionStorage == null) >> { >> throw new Exception("NHibernateSession no está >> inicializado. Llama a Init antes de operar con él. Comprueba también >> que haya un ISessionStorage asociado a NHibernate."); >> } >> >> ISession session = SessionStorage.Session(database); >> if (session == null) >> { >> session = _sessionFactory[database].OpenSession(); >> SessionStorage.SetSession(database, session); >> } >> >> return session; >> } >> >> Esta es la forma en que lo empleamos >> >> var session = >> NHibernateSession.Session(NHibernateSession.BBDD); >> using (var transaction = session.BeginTransaction()) >> { >> var listaMensaje = session >> .CreateQuery(@" >> from >> NhOfiMensajeria M >> where >> M.Referencia like 'FD:%' >> And M.AUsuario=:valorUsuarioMensajeria >> ") >> .SetParameter("valorUsuarioMensajeria", >> valorUsuarioMensajeria) >> .List<NhOfiMensajeria>(); >> >> transaction.Commit(); >> } >> >> On 9 ago, 16:40, Gustavo Ringel <[email protected]> wrote: >> > Si tu flush mode no es en commit el commit no hace flush de todo lo que >> > escribiste. >> > Adicionalmente suena a que tenes lo que llama un Time Bomb session >> > management, o sea suena a que abris una sola session. >> > Si abris sessions de NHibernate en cada request no tendrias que tener >> ningun >> > problema de leer los datos que se escriben en la otra base. >> > Claro que si por ejemplo cacheas, o le decis a NH que los datos no son >> > mutables, podes tener distintos tipos de desincronizacion. >> > >> > Gustavo. >> > >> > 2010/8/9 Maria Teresa Ruiz Espinosa <[email protected]> >> > >> > >> > >> > > Nuestro funcionamiento normal es hacer un beginTransaction y al >> finalizar >> > > la consulta un commit de la transacción. >> > >> > > No tenemos definido ningún FlushMode en especifico. >> > >> > > -- >> > > 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 > -- Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
