Domanda

Ho un servizio WCF che deve avvisare i suoi clienti quando si verificano modifiche al database (sql server 2005). Questo è relativamente facile da realizzare, purché trovo un modo per informare il mio servizio di eventuali modifiche. Probabilmente posso creare un trigger di database su una tabella e fare in modo che quel trigger avvii un piccolo client di servizio che avvisa il mio servizio, ma mi chiedo se esiste un modo migliore per farlo? Sarebbe una soluzione fattibile fare in modo che il servizio esegua il polling del database per le modifiche, ma non sono sicuro del modo migliore per farlo (e sarebbe preferibile inviare una notifica al mio servizio).

Poiché gli aggiornamenti rilevanti si applicano solo a una determinata parte del database, mi chiedevo anche se fosse possibile collegare un tale trigger (o altro meccanismo) a un diagramma del database.

Tutto l'aiuto è apprezzato! Rinze

È stato utile?

Soluzione

Se il tuo database è SQL Server 2005 e versioni successive puoi provare questa soluzione: Rimuovi il pooling per le modifiche ai dati da un front-end WCF .

Come nota a margine, non chiamare mai processi esterni da un trigger, non effettuare chiamate Web da un trigger. È una ricetta garantita per il disastro.

Aggiorna

Per coloro che sono interessati a mescolare le notifiche delle query con LINQ to SQL, consiglio Uso degli oggetti SQLDependency con LINQ .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top