Se non puoi dipendere dall'uscita con grazia dall'applicazione o almeno dall'acquisizione di tutte le eccezioni e dalla gestione appropriata, penso che l'unica alternativa sarebbe quella di passare a un approccio di sessione. Fondamentalmente, quando ogni utente accede, viene stabilita una nuova sessione ed è quell'ID sessione che verrà convalidato per eventuali chiamate future.
In questo modo, puoi consentire all'uso di terminare una sessione esistente/aperta quando tenta di accedere da qualche altra parte. Se tentano di accedere dal PC B e sono già collegati dal PC A, è sufficiente inserirlo in un prompt e se scelgono di continuare dal PC B, la sessione sul PC A viene disattivata. Anche se qualcuno sta utilizzando attivamente l'app sul PC A, la prossima chiamata di servizio che emette dovrebbe essere rifiutata poiché la sessione viene chiusa.