系统托盘通知程序 - 在SQL Server中创建新记录时触发

问题描述:

致力于支持服务台。 新门票进来了,记录被创建在一个SQL表中,并且他们被转储到一个特定的类别,任何分析师都可以提取它们。
当有新票时,前端不会通知分析人员,因此必须先刷新前端(浏览器)以查看新票是否进入“待分配”文件夹。系统托盘通知程序 - 在SQL Server中创建新记录时触发

我想创建一个位于系统托盘中的通知程序(类似于GMail通知程序)。

任何人都有一些很好的起点,或者可能会给我一些热情,让我真正开始创建某种通知器?

感谢

轮询是实现此目的的一种方式,但如果您使用SQL Server 2005或更高版本,更优雅的解决方案是使用SQL Server查询通知。这允许您指定一个查询(例如“SELECT ID FROM Tickets”),并在结果发生变化时收到通知。这里是如何做到这一点CodeProject上一个伟大的教程:

http://www.codeproject.com/KB/database/QueryNotifications.aspx

系统托盘通知基本上会做同样的事情,作为一个浏览器刷新,ping通新记录的服务器。您可能希望它每隔60秒“ping”您的服务器,或者更快或更慢,具体取决于您希望得到通知的速度。

在C#中做一个几乎是微不足道的。但是你没有说你会用哪种语言。我敢肯定,一个Java人会来这里说它在Java中的微不足道。然后一个蟒蛇人会进来告诉我们他可以做得更轻松。

如果您使用.NET,您可以使用Timer对象并将“tick”间隔设置为60秒。在每个Tick事件中,您都将轮询SQL数据库表并将最后一个票据记录创建的日期/时间存储在一个变量中。然后检查是否有插入创建日期/时间大于上次创建日期/时间的任何票证记录。你甚至可以添加另一个Timer组件来“倒计时”到下一个数据库轮询。如果你真的想要得到灵活的话,你可以将数据库轮询代码放在BackGroundWorker线程中,这样当你等待SQL Server连接时,GUI就不会空白。

+0

感谢您的信息。这就是问题所在 - 我不是一个“真正的”开发人员(虽然也许能够从其他更有经验的同事那里获得一些帮助,但我已经完成了所有语言的一些操作) 理想情况下,id喜欢找到要工作的基础项目,理想的.NET/Visual Studio。 有没有人看到类似项目/教程/代码片段的任何在线链接? 真的很感谢迄今为止的反馈= Def我需要开始做这个。 – Simon 2010-03-02 09:08:50