2011-11-16 189 views
1

我必须在.NET中创建一个窗口服务来轮询任何新记录的数据库表。如果有新的记录,那么它应该做一些处理。我知道我可以通过计时器轻松完成,有没有更好的方法来处理这种情况?创建一个窗口服务来轮询数据库

+0

取决于您的数据库等 - 一些数据库提供新的记录通知,例如... – Yahia

+0

我使用SQL服务器2008 – VJAI

+0

具有通知功能,所以你可以选择是否轮询或实现这种基于推的。 – Yahia

回答

0

如果您使用SQl服务器,则可以使用Notification Services。您可以编写一个显示检索某些数据的查询,当数据发生更改时,事件将发送到您的应用程序。

因此,不是不断地轮询数据库,您将拥有基于推送的解决方案。

在这里你可以找到一些documentation

[编辑]

我工作的一个窗口的设计服务自己,会做一些外部系统之间定期同步。每隔一段时间就会发生一次。我们不需要通知个人的变化,所以目前我没有计划使用通知服务。但在你的情况下,如果更新可能发生在任何时候,你需要立即与他们合作,我认为基于推送的方法更好。

+0

谢谢,这听起来不错。如果我得到一些指导说明何时进行基于计时器的轮询以及何时执行此通知功能,这将非常有用。如果我打的频率不那么频繁,那么哪一个会是不错的选择? – VJAI

+0

这是与SQL Server 2008的工作? – VJAI

+0

是的。他们在SQL Server 2005中引入。 –