В настоящее время я работаю над проектом с конкретными требованиями. Краткий обзор этих следующим образом:Триггеры событий на основе таймера
- Данные извлекаются из внешних веб-сервисов
- Данные хранятся в SQL 2005
- данных манипулируют с помощью веб-интерфейса
- окон службы, которая осуществляет связь с веб-службы не связаны с нашим внутренним пользовательским интерфейсом, за исключением базы данных.
- Связь с веб-службами должна быть как временной, так и инициированной с помощью вмешательства пользователя в веб-интерфейс.
Текущая (предварительно подготовленная) модель для запуска связи через веб-службу осуществляется через таблицу базы данных, которая хранит триггерные запросы, генерируемые при ручном вмешательстве. Я действительно не хочу иметь несколько механизмов запуска, но хотел бы иметь возможность заполнять таблицу базы данных с помощью триггеров, основанных на времени вызова. Как я вижу, есть два способа добиться этого.
1) Адаптируйте таблицу триггеров, чтобы сохранить два дополнительных параметра. Один из них «Является ли это основанным на времени или вручную добавленным?» и поле с нулевым значением для хранения данных синхронизации (точный формат, который будет определен). Если это созданный вручную триггер, пометьте его как обработанный при запуске триггера, но не в том случае, если это таймер.
или
2) Создайте вторую службу Windows, которая создает триггеры «на лету» с временными интервалами.
Второй вариант кажется мне модным, но управление опцией 1 может легко превратиться в кошмар программирования (откуда вы знаете, вернул ли последний опрос таблицы событие, которое нужно запустить, и как сделать вы затем прекратите его повторный запуск в следующем опросе)
Я был бы признателен, если бы кто-нибудь мог сэкономить несколько минут, чтобы помочь мне решить, какой маршрут (один из этих двух или, возможно, третий, не внесенный в список) ,