Hola, tengo un problema que me está volviendo turuleta.
Existe una aplicación WinForms creada con VS.NET 2003,
framework 1.1, en Windows XP.
El ejecutable .EXE - y toda la instalación, dlls, etc-
está en una unidad de red, T:\ por ejemplo. Dicha
aplicación .NET(EXE) es "ejecutada" por varios usuarios de
la red, con Windows XP.
Bien, en determinadas ocasiones se producen errores
inesperados, por ej, cuando un usuario edita un registro y
otro usuario edita otro registro (no el mismo registro).
La aplicación tiene un form con un filtro y un datagrid
que se carga de datos. Al pulsar sobre fila de datagrid se
abre un form2 con una serie de tabs, y botones aceptar y
cancelar.
Bien, en el Load de form2 se inicia transacción
(begintransaction), y al aceptar-cancelar se haría commit
o rollback. En el Close de form2 también se controla para
hacer commit o rollback.
Qué puede estar pasando ?. Influye el hecho que el EXE
esté en una unidad de red y los usuarios ejecuten el mismo
EXE ?
Cómo puedo solucionar la problemática de la concurrencia
en estos casos:
- Un usuario pulsa sobre la fila 1 de la rejilla; otro
usuario pulsa sobre la fila 1 de la rejilla. Qué se puede
hacer ?
- Un usuario pulsa sobre la fila 1 de la rejilla; otro
usuario pulsa sobre la fila 10 de la rejilla; habría algún
problema de concurrencia y acceso a datos en este caso ?.
En fin, que estoy hecho un lío :-)
Leer las respuestas