Моя текущая ситуация заключается в том, что у меня есть приложение, которое необходимо уведомлять, когда новые данные поступают в таблицу базы данных. Данные поступают из внешнего источника (что я не контролирую - это единственный вариант интеграции). Когда поступают новые данные, моему приложению нужно предпринять определенные действия - в основном запрос для новых данных, обработать его, вставить результат в локальную таблицу и т.д.
Я хочу избежать опроса, если это возможно, поскольку данные, как ожидается, будут обрабатываться в режиме реального времени. Тем не менее, убедитесь, что данные никогда не пропущены - это приоритет №1.
Мои вопросы:
- Насколько SqlDependency считается надежным?
- Нужно ли беспокоиться о состоянии гонки, например? Я обращаюсь с одним изменением, когда приходит еще один человек?
- Что происходит, когда база данных перезагружается? Будет ли мое приложение восстанавливаться и снова получать изменения, или мне понадобится таймер отказоустойчивости, который периодически будет повторно подписываться на уведомления?
- Большинство статей, которые я прочитал по адресу address SQL Server 2005. Я использую SQL Server 2008 R2. Существует ли более новая технология, которая предпочтительнее, чем SqlDependency?
- (Edit) Также, что, если приложение опустится? Думаю, мне нужно будет запросить пропущенные данные при запуске?