Pregunta

Tengo un servicio WCF que debe notificar a sus clientes cuando se producen cambios en la base de datos (servidor SQL 2005). Esto es relativamente fácil de lograr, siempre y cuando encuentre la manera de notificar a service de cualquier cambio. Probablemente pueda crear un activador de base de datos en una tabla y hacer que ese activador inicie un pequeño cliente de servicio que notifique a mi servicio, pero me pregunto si hay una mejor manera de hacerlo. Sería una solución viable si el servicio sondea la base de datos en busca de cambios, pero no estoy seguro de cuál es la mejor manera de hacerlo (y sería preferible enviar una notificación a mi servicio).

Como las actualizaciones relevantes se aplican solo a una cierta parte de la base de datos, también me preguntaba si también es posible vincular dicho desencadenante (u otro mecanismo) a un diagrama de base de datos.

Toda la ayuda es apreciada! enjuague

¿Fue útil?

Solución

Si su base de datos es SQL Server 2005 y superior, puede probar esta solución: Eliminar la agrupación para los cambios de datos de un extremo frontal de WCF .

Como nota al margen, nunca llame a procesos externos desde un disparador, no haga llamadas web desde un disparador. Es una receta garantizada para el desastre.

Actualizar

Para aquellos interesados ??en mezclar notificaciones de consulta con LINQ a SQL, recomiendo Uso de objetos SQLDependency con LINQ .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top