J'ai une application de bureau qui fonctionne sur un réseau et chaque instance se connecte à la même base de données.Comment Mutex à travers un réseau?
Donc, dans cette situation, comment puis-je implémenter un mutex qui fonctionne sur toutes les instances en cours d'exécution qui sont connectées à la même base de données? En d'autres termes, je ne veux pas que deux instances + exécutent la même fonction en même temps. Si vous exécutez déjà la fonction, les autres instances ne doivent pas y avoir accès. PS: La transaction de base de données ne résout pas, car la fonction que je ne veux pas mutex n'utilise pas la base de données. J'ai mentionné la base de données juste parce qu'elle peut être utilisée pour échanger des informations entre les instances en cours. PS2: La fonction prend environ ~ 30 minutes pour terminer, donc si une seconde instance essaie d'exécuter la même fonction, je voudrais afficher un message gentil qu'il ne peut pas être effectué en ce moment parce que l'ordinateur «X» est exécute déjà cette fonction. PS3: La fonction doit être traitée sur la machine client, donc je ne peux pas utiliser les procédures stockées.
Quelle est votre base de données et gère-t-elle les transactions? – ephemient