Bonjour à tous,
Je suis actuellement en train de développer une application qui affiche dans un DataGridView des données provenant d'une base de données Sql Server 2008 R2.
Ces données sont complètement éditables par l'utilisateur (insertion, modification et suppression).
Jusqu'ici tout va bien.
Cependant cette application est destinée à être utilisée par plusieurs personnes (potentiellement en même temps).
J'aimerais que les modifications faites par un utilisateur se répercutent instantanément sur les instances ouvertes par d'autres utilisateurs.
Je me suis donc tourné vers le Service Broker de Sql Server, j'ai crée un service, une file, un itinéraire pour ma base ainsi qu'un trigger pour ma table.
Dans mon code j'arrive bien à récupérer les changements qui sont fait par un utilisateur et à les répercuter chez un autre (en utilisant SqlNotificationRequest).
Le problème c'est que cela ne fonctionne bien que dans un sens : si le second utilisateur effectue des changements sur la base de données, ils ne sont pas répercutés chez le premier utilisateur.
De ce que j'ai compris c'est qu'il faudrait pour chaque instance de l'application sa propre queue dans Sql Server (dites moi si je me trompe).
Ma question est donc : peut-on créer dynamiquement des queues directement dans le code ou y a t-il un autre moyen?
Merci pour votre aide.
Partager