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

Responder a