Il problema riguarda la comunicazione dei dati client-server nel contesto del servizio web REST e della progettazione del database. diciamo che abbiamo Runners
e Visits
da soddisfare, ogni Visit
è assegnato a Runner
, qualche Visits
può essere assegnato a diversi Runners
. Visits
può essere creato in qualsiasi momento e deve essere trasferito al rispettivo Runner
(s) quando Runner
richiama una richiesta pull.
Il sistema esegue SQL Server per il database e asp API web per trasferire i dati tra i client.
La tabella Visits
ha una colonna flag per indicare se un record deve essere trasferito al rispettivo Runner
o è già stato trasferito. la domanda è quando un Visit
è assegnato a diversi Runners
, quando aggiorno quel Visit
flag per contrassegnarlo come già trasferito e smetti di inviarlo?
O se lo farai, la domanda può essere generalizzata. Come implementare il trasferimento dei dati in quello scenario generale quando un documento deve essere inviato a più client e i documenti inviati vengono ignorati.
l'ho temporaneamente implementato creando una tabella temporanea solo per Visits
scopo di comunicazione, ogni volta che viene creato un Visit
viene inserito in quella tabella con un RunnerID
e l'API Web è responsabile dell'eliminazione di ogni record dopo inviandolo al rispettivo Runner
. ma penso che sia più come un hack, più che avere un GET
HttpRequest per eliminare anche i record sottostanti è contrario alle best practice che ho letto.
tutti i tipi di suggerimenti sono ben accetti.