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
