更新数据库时通知我的WCF服务

Syg*_*Syg 6 sql wcf notifications triggers sql-server-2005

我有一个WCF服务,当数据库发生更改时需要通知它的客户端(sql server 2005).只要我找到一种方法来通知我的服务任何更改,这相对容易完成.我可以在表上创建一个数据库触发器并让该触发器启动一个通知我的服务的小服务客户端,但我想知道是否有更好的方法来执行此操作?让服务轮询数据库进行更改是一个可行的解决方案,但我不确定最好的方法(并向我的服务发送通知将是首选).

由于相关更新仅适用于数据库的某个部分,我还想知道是否也可以将这样的触发器(或其他机制)链接到数据库图表.

所有帮助表示赞赏!rinze

Rem*_*anu 6

如果您的数据库是SQL Server 2005及更高版本,则可以尝试此解决方案:从WCF前端删除池中的数据更改.

作为旁注,永远不要从触发器调用外部进程,不要从触发器进行Web调用.是一个有保障的灾难食谱.

更新

对于那些有兴趣将查询通知与LINQ to SQL混合的人,我建议将SQLDependency对象与LINQ一起使用.