Hace un tiempo, escribí una aplicación utilizada por varios usuarios para manejar la creación de intercambios. No he hecho desarrollo desde hace algún tiempo, y no recuerdo cómo administré la concurrencia entre los usuarios. Por lo tanto, estoy buscando algunos consejos en términos de diseño.¿Cuál es la mejor manera de administrar la concurrencia en una aplicación de acceso a la base de datos?
La aplicación original tenía las siguientes características:
- Un cliente pesado por el usuario.
- Una única base de datos.
- Acceso a la base de datos para que cada usuario inserte/actualice/elimine intercambios.
- Una cuadrícula en la aplicación que refleja la tabla de intercambios. Esa grilla se actualiza cada vez que alguien cambia un trato.
- Estoy usando WPF.
Aquí es lo que estoy preguntando:
Estoy en lo correcto al pensar que no deben preocuparse por la conexión a la base de datos para cada aplicación? Teniendo en cuenta que hay un singleton en cada uno, esperaría una conexión por cliente sin problemas.
¿Cómo puedo evitar la concurrencia de los accesos? Creo que debería bloquear cuando modifique los datos, sin embargo, no recuerdo cómo hacerlo.
¿Cómo configuro la red para que se actualice automáticamente siempre que mi base de datos se actualice (por otro usuario, por ejemplo)?
Gracias de antemano por su ayuda!
Lo tipo de base de datos? –
¿Qué estás usando como interfaz de usuario? ASP.NET? WinForms? WPF? Silverlight? – Jeff
Estoy usando WPF. Lo agregué en la descripción. gracias – Goul