2

我在数据库中有几行。我创建了一个 Windows 服务,它每 5 分钟更新一次数据库中的新行。

现在我想跟踪新行,如果有的话,WCF 服务中......并向客户端发送通知。

数据库就是SQL Server,轮询数据库或者这个SQL依赖有什么办法呢?一个代码片段会有很大帮助

4

2 回答 2

1

对于 5 分钟的更新频率,最好使用 Query Notifications(即。SqlDependency)。有关示例,请参阅从 WCF 前端删除数据更改池。如果您使用 LINQ,那么您还可以使用LinqtoCache,它为 LINQ 查询提供 SqlDependency 支持的缓存失效。

于 2012-05-29T09:28:57.580 回答
0

在您的表中添加一个datedatetime(取决于您的 SQL Server 版本)字段,即“发送到客户端”日期。默认为NULL.

为您的服务编写一个存储过程来调用它返回一个包含NULL日期的所有行的结果集。在同一过程中,将所有 NULL 日期设置CURRENT_TIMESTAMP为将它们标记为“发送到客户端”

根据需要经常轮询该过程。

于 2012-05-29T08:04:18.137 回答