Actualmente estoy trabajando en un proyecto con requisitos específicos. Una breve descripción de estos son como sigue:Disparadores de eventos basados en temporizador
- datos se recuperan de servicios web externos
- Los datos se almacenan en SQL 2005
- datos se manipula a través de una interfaz web
- El servicio de Windows que se comunica con el los servicios web no tienen acoplamiento con nuestra UI web interna, excepto a través de la base de datos.
- La comunicación con los servicios web debe basarse tanto en el tiempo como en la intervención del usuario en la interfaz de usuario web.
El modelo actual (prepreproducción) para la activación de la comunicación del servicio web se realiza a través de una tabla de base de datos que almacena las solicitudes de activación generadas a partir de la intervención manual. Realmente no quiero tener múltiples mecanismos de activación, pero me gustaría poder completar la tabla de la base de datos con desencadenadores según la hora de la llamada. Como lo veo, hay dos formas de lograr esto.
1) Adapte la tabla de disparadores para almacenar dos parámetros adicionales. Uno de ellos es "¿Está basado en el tiempo o agregado manualmente?" y un campo anulable para almacenar los detalles de tiempo (se debe determinar el formato exacto). Si se trata de un desencadenador creado por manaul, márquelo como procesado cuando se disparó el desencadenador, pero no si se trata de un desencadenador temporizado.
o
2) Cree un segundo servicio de Windows que crea los desencadenantes sobre la marcha en intervalos de tiempo.
La segunda opción me parece un dulce de azúcar, pero la administración de la opción 1 podría convertirse fácilmente en una pesadilla de programación (¿cómo se sabe si la última encuesta de la tabla devolvió el evento que debe disparar y cómo luego dejes de reactivarlo en la próxima encuesta)
Agradecería que alguien pudiera dedicar unos minutos para ayudarme a decidir qué ruta (una de estas dos, o posiblemente una tercera, no incluida en la lista) tomar .