Devo progettare un'applicazione è principalmente un'interfaccia con un database per l'immissione dei dati. L'applicazione deve essere in grado di funzionare mentre viene disconnessa dal database con i dati memorizzati nella cache e inserire tali dati quando ha di nuovo la connessione. Ci saranno due diverse modalità, connesse o disconnesse, nessuna necessità di rilevare la disconnessione nel mezzo di una sessione connessa per passare alla disconnessione.Motivo di progettazione per un'applicazione di database che deve essere disconnessa
Poiché questo mi sembra un requisito comune mi chiedevo se esiste un approccio "standard" per affrontare questo problema. Memorizzazione nella cache delle tabelle al file locale, serializzazione dei dati richiesti al database o altro. Forse esiste una libreria esistente per farlo?
Grazie in anticipo.
PD: L'applicazione sarà fatto in .Net
EDIT: È un'applicazione WinForms, non un Web uno.
EDIT2: per immettere ulteriori dettagli sull'applicazione è necessario immettere i dati in un database, ma a volte gli utenti saranno fuori sede diverse settimane e sarà necessario immettere i dati come se fossero collegati con i dati memorizzati nella cache dal database e questi dati inseriti saranno trasferiti al database quando si ricollegheranno di nuovo.
La replica del database aggiunge solo dati al server principale o la sostituisce? Ho bisogno che tutti i dati vengano aggiunti al server DB principale ma non sostituiti. Quindi dovrei replicare il server principale sul server locale sulla connessione, ma semplicemente aggiungere dati da locale a principale quando ci sono dati disponibili. –
Se vuoi che la tua applicazione abbia un comportamento limitato come "aggiungi solo" in modalità disconnessa, devi ovviamente gestirla nell'interfaccia utente della tua applicazione, che è qualcosa che il tuo database non può fare per te. Dai un'occhiata a MSDN qui http://msdn.microsoft.com/en-us/library/ms151329.aspx per ulteriori informazioni sulla replica di merge di SQL Server e sulla risoluzione dei conflitti. –