предлагаемая архитектура \ шаблон для службы Windows, которая отслеживает и уведомляет по почте об изменениях? - PullRequest
0 голосов
/ 15 марта 2011

Я хочу создать службу Windows, которая будет уведомлять некоторых администраторов в компании об основных BL, которые изменяются в БД. Может ли кто-нибудь подсказать, как его построить, чтобы он не нуждался в обслуживании и разумным образом. (Как писать хранимые процедуры в таблице?). Какие технологии я могу использовать? (например, зависимость от SQL?) если бы кто-то сделал что-то подобное, я был бы рад услышать советы ...

Ответы [ 2 ]

2 голосов
/ 19 марта 2011

Для этого есть 3 основных шаблона.

  1. Событие уведомления о том, что изменяется, вызывает событие «Привет, кто-то изменил меня», и затем вы ловите это событие.
  2. Опрос, клиент спрашивает базу данных, что произошло с тех пор, как я последний раз спрашивал вас, что случилось.
  3. Шлюз, все изменения, сделанные через шлюз, шлюз сообщает о том, какие изменения были сделаны.

Какой из них вы выберете, будет зависеть от того, какая технология у вас есть и каковы ваши требования относительно того, насколько быстро вам нужно знать об изменениях.

0 голосов
/ 19 марта 2011

SQL Server предлагает множество способов для регистрации изменений (включая данные и схемы). См. Изменение данных и другие темы, такие как DDL Trigger, Уведомление о событиях и Трассировка SQL. В вашем случае, я думаю, что это последние 3 темы.

Все 3 метода должны быть в состоянии работать в области базы данных или даже в масштабе сервера (то есть вы можете установить это один раз и забыть об этом, что должно удовлетворить ваши требования по обслуживанию).

В сочетании с возможностью работы с Database Mail в SQL Server вы сможете реализовать это, не прибегая к пользовательской службе Windows.

Просто предостережение ... Люди думают, что это хорошая идея, но при неправильной реализации ожидайте, что почтовый ящик заполнен СПАМОМ, СПАМОМ и другим СПАМОМ. подсказка: манипулирование временным столом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...