0

我有一个侦听消息队列并处理来自该消息队列的请求的 Windows 服务。我有一个将消息放入消息队列的初始应用程序。该服务本身实际上会即时创建一些文件,当这些文件被创建时,我需要初始应用程序来获取这些文件并将它们基本上绘制在屏幕上。(文件是 html 格式)目前我的应用程序和服务在我的本地机器上运行,所以文件只是位于我机器的 c: 驱动器上。

我的问题是我需要某种方式来向我的初始应用程序发出信号,表明该服务已成功或不成功地提取并处理了我的 msg。我一直在研究如何做到这一点,却空手而归。我也一直在集思广益,想知道我可以做些什么来完成这项工作。一种不可行的解决方案是在向队列发送消息时将记录插入数据库表中,并且在服务内完成处理后更新队列记录,同时让应用程序查询表以检查处理完成状态。我根本不喜欢这个想法,因为我觉得它太密集了,我相信必须有更好的方法来做到这一点。我将继续研究如何做到这一点,但我绝对希望有人对此有更好的解决方案,而不是一遍又一遍地运行我的 sql 查询。请注意,过去我曾尝试向事件查看器查询进程,并且我知道如何执行此操作,但这对于我想要完成的时间来说太长了。

4

1 回答 1

0

我最终选择了在调用 Windows 服务之前将记录插入数据库的路线。然后,当 Windows 服务完成其进程时,它会更新此数据库记录。我的页面一直在通过 javascript 调用 web 服务,该 web 服务检查数据库以查看记录上的标志是否已设置为完成处理。这使我可以确定 Windows 服务何时完成处理队列中的消息。

于 2012-10-26T22:26:08.930 回答