2012-05-29 79 views
2

我在数据库中有几行。我创建了一个Windows服务,每隔5分钟更新一次数据库中的新行。检查数据库中的新行 - 使用轮询或SQL依赖性?

现在我想跟踪新行,如果有任何.....在WCF服务,并发送一个通知给客户端。

数据库是SQL Server,轮询数据库或此SQL依赖关系是什么路要走?一段代码会帮助很多

+2

或插入新记录的触发器... –

+1

@st_stefanov以及触发器如何通知客户端? –

+0

Remus,如果他的实现允许的话,有一个解决方案。他可以使用发布/订阅MQ通信解决方案并发送所有客户端收到的通知消息,他们将在此事件中执行其逻辑。我们一直在使用它多年。 –

回答

0

将“date”或“datetime”(取决于您的SQL Server版本)字段添加到您的表中,这是“发送给客户端”日期。默认为NULL

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

根据需要频繁轮询过程。

+0

哦,我想我会去与这个SQL缓存依赖项,添加数据库中的另一列是不是一个选项..谢谢反正.. –

+1

@PiyushSardana - 如果你已经解决了你的问题,请张贴它作为答案,并接受它。这样你就不会有人继续为这个问题添加答案。 – Tony

+0

我没有解决它,但我找到了,这可能会帮助我在WCF中实现相同,这里的链接http://www.dotnetcurry.com/ShowArticle.aspx?ID=263 –