【发布时间】:2010-10-04 01:34:49
【问题描述】:
我目前正在构建两个 Windows 服务:
第一个从 Internet 连接获取消息并将其插入数据库。这旨在快速稳定,不做任何其他处理
第二个对自上次运行以来到达的所有新消息执行批处理。
我正在尝试一种方法,以便第二个服务仅在准备好处理新消息时运行其批处理过程,并且如果第二个服务出错,第一个服务将继续运行,反之亦然。目前它每 5 秒使用一次循环。
我目前正在考虑使用消息队列,其中第一个服务仅在队列为空时写入消息,第二个服务将查看队列是否包含任何消息,如果没有进入异步等待直到消息到达,然后删除消息并运行。因此,使用队列并不是真正的队列,而是作为一个二进制开关,当它的状态发生变化时,会触发一个事件到第二个服务。
我想有一个更好的方法可以做到这一点,我还没有遇到过有人可以指出我正确的方向吗?
【问题讨论】:
标签: windows-services msmq message-queue