Bueno En lo primero tenes razon, no he configurado nada de caches (la verdad que tampoco pude investigar sobre el tema)
Pero lo segundo no, es decir, no tengo una session abierta de principio a fin, al menos no a nivel del sistema. Mi marco de trabajo es el siguiente: 1 form con un GRID que hace las veces de browser y que llama a otro Form que contiene los controles para la edición. Bueno lo que hago es abrir la sesion cuando se inicia la ventana de Browser, y la cierro cuando se cierra el form. Entonces si se podria decir que tiene un lapso de vida largo. Cual seria la mejor forma de manejarlo, acaso abrir una sesion para jalar la lista de registros, y otra para la modificacion de los datos??? On 18 abr, 22:06, "Diego Jancic" <[email protected]> wrote: > Hola, > > - Supongo que vos no configuraste absolutamente nada de caches, esta todo en > defaults (si no es asi, decinos que configuraste) > - Me parece que tu aplicacion debe estar usando 1 sola session todo el > tiempo (desde que la abris hasta que la cerras). > > Si las 2 suposiciones son correctas, entonces estas usando mal NH. Las > sesiones no deberían tener un ciclo de vida tan largo porque no están > pensadas para eso y vas a tener problemas. Mas alla de eso, que es otro > tema, el cache de primer nivel (que no es configurable) y aplica a todo lo > que pase por la sesión te esta molestando. > > Bueno... mejor dicho, vos lo estas molestando al cache de 1er nivel. El solo > esta haciendo su trabajo como debería ;) > > Saludos, > Diego > > > > -----Original Message----- > From: [email protected] > > [mailto:[email protected]] On Behalf Of uhilari > Sent: Saturday, April 18, 2009 22:28 > To: NHibernate-Hispano > Subject: [NHibernate-Hispano] Sessiones Paralelas > > Hola a todos, > > Aca con una nueva consulta. > > Veran he estado haciendo una prueba con la aplicacion que cree, ya que > esta debe ser para multiusuario, y me he dado con un comportamiento > interesante ojala que ustedes me puedan ayudar. > > Primero he de decir que tengo la aplicación es un proyecto Windows > Forms, y el ORM es NHIbernate, bien tengo instalada la aplicacion en 2 > PCs (A, B) y se conectan a un servidor de BD, el esquema tradicional. > > Les explico: he abierto la aplicacion tanto en la PC A como en la B, > seguidamente abri mi mantenimiento de clientes, en ambas PC, e hice la > prueba siguiente: > > Inserte un cliente en la PC A, y refresque en la PC B, me mostro el > cliente nuevo. > Edite un cliente en la PC A, y luego refresque la PC B, pero no me > mostro los cambios en el cliente. > > Si reviso en A, si estan hechos los cambios, pero si reviso en B no > aparecen, mirando la BD me he dado cuenta que si hizo el cambio. > > Estoy casi seguro de que es por la Cache que usa el NHibernate, que > como encuentra el objeto ya en la cache de B, no la busca en la BD y > no sabe si se hizo algun cambio. > > Como puedo hacer para que busque en la BD?, > > he probado con todos los valores de ISession.CacheMode, y siempre > tengo el mismo resultado. > > Como podria hacer que si es para una consulta de tipo HQL, busque > siempre en la BD??? > > gracias- Ocultar texto de la cita - > > - Mostrar texto de la cita - --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
