Buenas a todos antes que nada.
Les cuento que empece trabajar con NH hace unos 6 meses.
Y ahora que tengo la aplicacion corriendo con varios usuarios tengo
graves problemas con el tema de la concurrencia.
He leido el articulo de Ayende y el knol (creo que lo escribio Fabio).
El tema es que pruebo hacer un Lock al momento de hacer un Upgrade y
no funciona.
Tambien probe hacer un Lockeo pesimista y tampoco funciona.
Me parece que no lo se implementar.
Quiero hacerlo funcionar sobre un objeto sencillo para despues hacerlo
funcionar en los lugares criticos de la aplicacion.
Lo que probe y no me funciona es lo siguiente:
public Object GetById(int bancoId)
{
using (ISession session = NHibernateHelper.OpenSession())
using (ITransaction transaction =
session.BeginTransaction())
{
Banco tempBanco = session.Get<Banco>(bancoId);
session.Lock(tempBanco, LockMode.Upgrade);
transaction.Commit();
return tempBanco;
}
}
Ahora 2 usuarios levantan el mismo objeto Banco lo modifican y a
ninguno le tira el ObjectStaleException.
Alguien me puede decir que estoy haciendo mal y orientarme para ver
como lo arreglo??
Saludos
Diego
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano