Vereis, tengo una clase estatica (TareasBL) la cual tiene un método que ejecuta en una Hebra una serie de comprobaciones en BBDD. Recoge unos datos de una tabla, comprueba que existan en otra tabla y sino existen, los inserta.
Este método, puede ser llamado desde varias paginas y obviamente, desde varios clientes.
Claro... el problema está, en que si se llama dos veces al método, prácticamente a la vez, puede que se repitan datos en la tabla de la BBDD.
La clase mas o menos es asi (El codigo esta en el trabajo)
Código:
Me gustaría, alguien que esté experimentado en el tema, que soluciones me puede dar... si antes de hacer lo de la BBDD, meter las ordenes en una Pila, o algo similar, etc...Public Class TareasBL Public Static Property GetInstance TareasBL End Property Public Sub RealizarComprobacion() Call New Thread(AddressOf BeginRealizarComprobacion).Start() End Sub Private Sub BeginRealizarComprobacion() 'Recupero registros de una tabla. 'Compruebo si existen en otra tabla. 'Inserto en la tabla los que no existan. End Sub End Class
Pensé en meter en el método privado el siguiente atributo, pero me gustaría saber la opinión de alguien expermientado en el tema, si con esto podría solucionar el problema... o por lo menos que me orienten.
Código:
Desde ya, muchas gracias por su ayuda.<System.Runtime.CompilerServices.MethodImpl(MethodImplOptions.Synchronized)> _ Private Sub BeginRealizarComprobacion() 'Recupero registros de una tabla. 'Compruebo si existen en otra tabla. 'Inserto en la tabla los que no existan. End Sub
Espero haberme explicado bien. Saludos.