Ho un'applicazione desktop che gira su una rete e ogni istanza si connette allo stesso database.Come mutare su una rete?
Quindi, in questa situazione, come è possibile implementare un mutex che funzioni su tutte le istanze in esecuzione connesse allo stesso database?
In altre parole, non voglio che due istanze + eseguano la stessa funzione nello stesso momento. Se uno sta già eseguendo la funzione, le altre istanze non dovrebbero accedervi.
PS: la transazione del database non verrà risolta, poiché la funzione che non voglio mutex non utilizza il database. Ho menzionato il database solo perché può essere utilizzato per scambiare informazioni tra le istanze in esecuzione.
PS2: la funzione richiede circa ~ 30 minuti per essere completata, quindi se una seconda istanza tenta di eseguire la stessa funzione, vorrei visualizzare un messaggio piacevole che non può essere eseguita in questo momento perché il computer 'X' è già eseguendo quella funzione.
PS3: la funzione deve essere elaborata sul computer client, quindi non è possibile utilizzare stored procedure.
Qual è il tuo database e supporta le transazioni? – ephemient