Sto sviluppando un'applicazione client-server utilizzando C#. Fondamentalmente il server è un server SQL ei client sono sviluppati in C#. Quello che vorrei sapere è il modo migliore (se esiste) di limitare il numero di utenti che utilizzano l'applicazione in qualsiasi momento - ad esempio, desidero limitare a due utenti. Potrei limitare il loro accesso a SQLserver?Numero limite di utenti nell'applicazione C#
risposta
È potenzialmente necessario il concetto di una "sessione" per identificare il numero di utenti simultanei.
Se si desidera che ciò avvenga in modo sicuro, è necessario introdurre un livello applicazione tra il server DB e il client. È quindi possibile fornire metodi di accesso e disconnessione per gli utenti.
Ad ogni accesso sarà necessario incrementare il conteggio di "utenti concorrenti" e ad ogni disconnessione sarà necessario diminuire.
Potrebbe essere necessario introdurre il concetto di timeout della sessione poiché alcuni client potrebbero arrestarsi senza richiamare il metodo logff.
Il numero di utenti concorrenti consentiti può essere associato a una licenza.
Si noti che con questo tipo di conteggio si dovrebbe creare solo una singola connessione da ciascun client. Questo può facilmente rendere difficile la creazione dell'applicazione. –
Potresti semplicemente vendere singole licenze.
Creare l'applicazione in modo che controlli la sua licenza su un server trusted (potrebbe essere lo SQL Server).
Vendi una licenza per computer/utente.
In questo modo è possibile scalare facilmente su più di 2 utenti, se necessario.
È inoltre possibile implementare le licenze mobili: ogni volta che un utente tenta di ottenere una licenza viene fornito solo quando disponibile. Ovviamente la licenza dovrà essere "liberata" dopo una disconnessione o un time-out. In questo scenario è necessario un server che contenga un numero di licenze e un servizio fidato che li distribuisca.
Nell'applicazione Winforms si dovrebbe semplicemente verificare la licenza all'avvio e si potrebbe estendere il timeout ogni volta che l'utente non qualcosa di significativo (come ad esempio l'interrogazione del database o facendo clic su una voce di menu)
Utilizzare la tabella "currentUser" per memorizzare contemporaneamente gli utenti che accedono al sistema contemporaneamente.
All'accesso dell'utente, controllare il conteggio delle righe se il numero max. di righe ha raggiunto.
Rimuovere la riga rispettiva quando l'utente lascia il sistema. In questo modo, puoi anche limitare l'uso dello stesso ID utente per accedere da diversi computer.
- 1. ngRipetizione - numero limite di risultati visualizzati
- 2. Numero limite di chiamate usando Parse
- 3. Numero limite di thread in numpy
- 4. Esiste un limite al numero di attività?
- 5. Numero limite di thread in Groovy
- 6. Numero limite di oggetti in has_many association
- 7. numero Primavera @Async limite di fili
- 8. numero limite HTML Select + di opzioni visibili
- 9. Limite sul numero di colonne in cassandra
- 10. BitBucket.org - limitazioni solo il numero di utenti?
- 11. Google il numero limite di unità di scaricare
- 12. qualsiasi limite del numero di connessioni di SQL Server?
- 13. Limite Android ModificaTesto su Solo numero intero
- 14. Java - numero limite tra min e max
- 15. intero avvolgimento algoritmo numero con casi limite
- 16. Numero limite di zeri finali per uscita fissa
- 17. Numero limite di risultati restituiti in un elenco da Linq
- 18. come contare il numero di utenti attivi nel kernel
- 19. Introduzione a C# per utenti C/C++
- 20. Numero limite di righe nella casella di testo .net
- 21. Powershell 3.0 - Flussi di lavoro - Numero limite di esecuzione parallela
- 22. C# ColorMatrix Index fuori limite
- 23. Trova valore di corrispondenza cella e reso numero limite
- 24. Esiste un limite al numero di tabelle consentite in bigquery
- 25. Modifica del limite del numero massimo di pthreads da un'applicazione
- 26. Perché esiste un limite nel numero di download simultanei?
- 27. Qual è il limite di auto_increment (numero intero) in mysql
- 28. Numero limite di thread in Task Libreria parallela
- 29. Numero limite di richieste HTTP parallele nel nodo js
- 30. Numero limite di risultati in Meteor sul lato server?
Stai facendo questo per problemi di licenza? E non hai altri server di app in mezzo? – ryadavilli
Sì signore, lo sto facendo per le licenze e voglio dare l'accesso della mia applicazione ai client limitati. Non ho altri server delle app in mezzo. Il mio database Sql Server si trova su una macchina (chiamato server database) e il mio codice applicazione si trova sulla macchina client. Non so come dare accesso a client limitati. Scusami per il mio inglese. Grazie per la risposta – Vinit
"voglio dare l'accesso della mia applicazione ai client limitati" Puoi spiegarlo ulteriormente nella tua domanda. Questo va al di là delle licenze, che sarebbero state più facili da gestire con un semplice conteggio. – ryadavilli