Уведомлять мою службу WCF при обновлении базы данных - PullRequest
6 голосов
/ 10 сентября 2009

У меня есть служба WCF, которая должна уведомлять своих клиентов об изменениях в базе данных (sql server 2005). Это сравнительно легко сделать, если я найду способ уведомить мою службу о любых изменениях. Возможно, я могу создать триггер базы данных для таблицы, и этот триггер запустит небольшой сервисный клиент, который уведомит мою службу, но мне интересно, есть ли лучший способ сделать это? Было бы жизнеспособным решением сделать так, чтобы служба опрашивала базу данных на предмет изменений, но я не уверена в том, как лучше это сделать (и было бы предпочтительным отправить уведомление в мою службу).

Поскольку соответствующие обновления применяются только к определенной части базы данных, мне также было интересно, можно ли также связать такой триггер (или другой механизм) с диаграммой базы данных.

Вся помощь приветствуется! rinze

Ответы [ 2 ]

6 голосов
/ 10 сентября 2009

Если ваша база данных SQL Server 2005 и выше, вы можете попробовать это решение: Удалить пул для изменений данных из внешнего интерфейса WCF .

Как примечание: никогда не вызывайте внешние процессы из триггера, не совершайте веб-вызовы из триггера. Является гарантированным рецептом катастрофы.

Обновление

Для тех, кому интересно смешивать уведомления о запросах с LINQ to SQL, я рекомендую Использование объектов SQLDependency с LINQ .

...