In un ambiente multiutente: Come ci si assicura che tutti i client vedano le modifiche di eachothers? Qual è il modo migliore per farlo?Tecnica/i in un'applicazione multiutente C# in cui tutti i client hanno i loro dati aggiornati da un database centrale
In passato ho creato un'applicazione C# e l'ho installata su 2 PC. Si collegava a un server SQL Express centrale (l'applicazione client funzionava con Entity Framework Code First come ORM). Quando client1 ha aggiunto un record al database, questo non era direttamente visibile a client2. Solo se il client2 ha recuperato tutti i dati (hard refresh) la modifica era visibile.
Ora sto cercando una soluzione su come questa "sincronizzazione" (?) Possa o debba essere eseguita. Mi piace lavorare su Entity Framework Code Innanzitutto, sarebbe bello che una soluzione potesse mantenerlo. Anche l'applicazione è ancora in una fase molto precoce. Ho pensato di avere un database centrale e più client che si collegano ad esso, ma non sono sicuro che questa sia una buona soluzione. Se i vostri suggerimenti/soluzioni richiederebbero un'applicazione server centrale a cui i client si connettono (e dove l'applicazione server gestisce il database) questo non sarebbe un problema.
Se possibile, una soluzione di esempio di base o un codice di base che mostra come lavorare sempre con i dati più recenti potrebbe essere molto utile!
domande simili:
- Entity Framework - Underlying data (in database) change notification
- Entity Framework data updates in a multi-user environment with central database
- Entity framework data context not in sync with database?
grazie in anticipo
grazie per il vostro suggerimento. Personalmente questo non mi sembra un buon modo di lavorare. L'applicazione client carica tutti i dati (a causa di una griglia e cerca nella griglia), quindi ciò significa che un DB locale ha un'intera copia di un server sql (espresso). lì vedo già delle limitazioni (ad es .: sito di database max da localDB vs sql server vs sql express). Qualche altro suggerimento? – juFo