一尘不染

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

sql

我有一个WCF服务,当数据库发生更改时(SQL Server 2005),它需要通知其客户端。只要我找到一种将任何更改通知我的 服务
的方法,这相对容易实现。我可能可以在表上创建数据库触发器,并让该触发器启动一个通知我的服务的小型服务客户端,但是我想知道是否有更好的方法可以做到这一点?让服务轮询数据库中的更改将是一个可行的解决方案,但是我不确定采用哪种最佳方法(并且最好向我的服务发送通知)。

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

感谢所有帮助!林兹


阅读 140

收藏
2021-03-10

共1个答案

一尘不染

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

附带说明一下,切勿从触发器调用外部进程,也不要从触发器进行Web调用。是保证灾难的良方。

更新

对于那些对将Query
Notifications与LINQ混合到SQL感兴趣的人,我建议对LINQ使用SQLDependency对象

2021-03-10