consulta de novato

30/09/2009 - 13:47 por Pablo Nogues | Informe spam
Buenos días. Soy nuevo en .net y no sé como se soluciona el siguiente
problema que tengo:

1- de mi db genero un objeto producto ( hago un select de la tabla
productosy genero un objeto a traves de mi clase producto)
2- dos clientes obtienen el mismo producto
3- el cliente A actualiza el saldo y hace update del producto
4- el cliente B actualiza el saldo y hace update

obvieamente el cliente B tiene info del saldo "incorrecta" dado que el
cliente A ya actualizó el saldo.


Sé que esto es cotidiano en app, pero soy novato y no sé como solucionarlo.

Me podrían hechar una mano de cómo lo hacen uds. hoy día.
Agradeceré ademas links o documentos relacionados a este tema,

muchas gracias!!

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
30/09/2009 - 14:11 | Informe spam
"Pablo Nogues" wrote in message
news:%
Buenos días. Soy nuevo en .net y no sé como se soluciona el siguiente
problema que tengo:

1- de mi db genero un objeto producto ( hago un select de la tabla
productosy genero un objeto a traves de mi clase producto)
2- dos clientes obtienen el mismo producto
3- el cliente A actualiza el saldo y hace update del producto
4- el cliente B actualiza el saldo y hace update

obvieamente el cliente B tiene info del saldo "incorrecta" dado que el
cliente A ya actualizó el saldo.

Sé que esto es cotidiano en app, pero soy novato y no sé como
solucionarlo.



Existen dos enfoques alternativos: concurrencia optimista y concurrencia
pesimista.
Con la optimista, primero se leen los datos, luego se trabaja con ellos,
y al irlos a grabar, se comprueba primero si lo que hay en la base de datos
coincide con lo que se leyó originalmente. Si no coincide, se muestra un
mensaje de error al usuario, o se corrige el valor automáticamente si se
puede (como en el ejemplo del saldo que mencionas).
Con la concurrencia pesimista, se utiliza algún mecanismo de bloqueo,
por ejemplo, se añade al registro un campo boleano y se pone a true cuando
se lee el registro para trabajar con él. Si mientras tanto alguien más
quiere modificar el registro, se le muestra un mensaje diciendo que no se
puede porque está en uso en ese momento.
Respuesta Responder a este mensaje
#2 Pablo Nogues
30/09/2009 - 16:07 | Informe spam
Muchas gracias ALberto, me ha sido de gran ayuda. Voy a implementar el
pesimista.

Saludos
"Alberto Poblacion"
escribió en el mensaje news:%
"Pablo Nogues" wrote in message
news:%
Buenos días. Soy nuevo en .net y no sé como se soluciona el siguiente
problema que tengo:

1- de mi db genero un objeto producto ( hago un select de la tabla
productosy genero un objeto a traves de mi clase producto)
2- dos clientes obtienen el mismo producto
3- el cliente A actualiza el saldo y hace update del producto
4- el cliente B actualiza el saldo y hace update

obvieamente el cliente B tiene info del saldo "incorrecta" dado que el
cliente A ya actualizó el saldo.

Sé que esto es cotidiano en app, pero soy novato y no sé como
solucionarlo.



Existen dos enfoques alternativos: concurrencia optimista y
concurrencia pesimista.
Con la optimista, primero se leen los datos, luego se trabaja con
ellos, y al irlos a grabar, se comprueba primero si lo que hay en la base
de datos coincide con lo que se leyó originalmente. Si no coincide, se
muestra un mensaje de error al usuario, o se corrige el valor
automáticamente si se puede (como en el ejemplo del saldo que mencionas).
Con la concurrencia pesimista, se utiliza algún mecanismo de bloqueo,
por ejemplo, se añade al registro un campo boleano y se pone a true cuando
se lee el registro para trabajar con él. Si mientras tanto alguien más
quiere modificar el registro, se le muestra un mensaje diciendo que no se
puede porque está en uso en ese momento.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida