/ / Programmi multipli che aggiornano lo stesso database - asp.net-mvc-3, sql-server-2008, c # -4.0, entity-framework-4.1

Programmi multipli che aggiornano lo stesso database - asp.net-mvc-3, sql-server-2008, c # -4.0, entity-framework-4.1

Ho un sito web sviluppato con ASP.MVC NET, Entity Framework Code First e SQL Server. Il sito web ha entità che hanno una cronologia di stati che abbiamo definito (NUOVO, CONFEZIONATO, SPEDITO, ecc.) Il DB contiene una tabella in cui un sistema completamente separato inserisce i dati di tracciamento dei pacchi. Devo leggere questi dati di tracciamento dei dati e, seguendo determinate regole aziendali, aggiungere alla cronologia di stato esistente delle mie entità.

Il modo migliore che riesco a pensare è scrivere unservizio indipendente di Windows per eseguire il polling dei dati di tracciamento ogni tanto e aggiornare i miei stati di entità da quello. Tuttavia, ciò mi preoccupa per i problemi di concorrenza di DB.

Per favore qualcuno potrebbe consigliarmi sulla migliore strategia per questo scenario? Grazie molto

risposte:

1 per risposta № 1

Ci sono diversi modi per farlo. Dipende anche dal tempo di risposta di cui hai bisogno. Se è necessario aggiornare il sistema non appena il sistema di tracciamento aggiorna il record, un trigger è il modo preferito. Il modo alternativo è pianificare un lavoro che verrà eseguito ogni 15/30 minuti e sincronizzerà i 2 sistemi.

Per quanto riguarda il problema di concorrenza, è possibile utilizzare un campo di token di concorrenza. Il framework Entity ha supporto per questo.