C# 带计时器的Windows服务应用程序

C# 带计时器的Windows服务应用程序,c#,sql-server,timer,triggers,windows-services,C#,Sql Server,Timer,Triggers,Windows Services,我是Windows服务和.net编程新手 我使用Microsoft MS SQL中的数据为生成报告创建了一个windows应用程序。然后我将windows应用程序转换为windows服务。并添加了计时器 我的实际需求是,每当sql表获得新记录时,应用程序都应该生成报告 我将应用程序转换为服务,并正确启动。如果表中没有数据,则立即运行程序并结束 如何使计时器在sql表中插入新数据时触发应用程序 提前感谢。如果您只需要在表中的数据更改时运行代码,您可能会对使用对象感兴趣 代码示例: 您真的需要服务吗

我是Windows服务和.net编程新手

我使用Microsoft MS SQL中的数据为生成报告创建了一个windows应用程序。然后我将windows应用程序转换为windows服务。并添加了计时器

我的实际需求是,每当sql表获得新记录时,应用程序都应该生成报告

我将应用程序转换为服务,并正确启动。如果表中没有数据,则立即运行程序并结束

如何使计时器在sql表中插入新数据时触发应用程序


提前感谢。

如果您只需要在表中的数据更改时运行代码,您可能会对使用对象感兴趣

代码示例:

您真的需要服务吗?为什么不让应用程序保持原样,并使用任务调度器以一定的时间间隔运行它?@ZippyV有时我会得到多个输入,我们不知道确切的时间间隔。在这种情况下,您的服务上的计时器也将是无用的。谢谢@ZippyV是否有任何执行相同任务的建议?您正在寻找发布子解决方案。也就是说,您的应用程序已从MS SQL数据库订阅了某些事件。数据库引发一个事件,您的应用程序将收到通知。然后你的应用程序做任何必要的事情。ZippyV提出的任何建议都是一个很好的解决方案。如果这很难实现,则必须实现轮询解决方案。您的应用程序需要每分钟从MS SQL提取数据的时间。另一个选项是通过Windows调度程序调度应用程序。最后两种方法每隔一段时间运行一次应用程序,因此您的应用程序可能获取数据,也可能无法获取数据。