Уведомлять мою службу WCF при обновлении базы данных

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

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

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

2 ответа

Решение

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

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

Обновить

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

Другие вопросы по тегам