微软服务间的通信问题
-
20-08-2019 - |
题
我目前正在建设两个窗口服务:
首先需要消息从一个因特网连接,并插入这些进入一个数据库。这是设计为快速和稳定的和不做任何其他的处理
第二次执行批处理过程中有任何新的消息,已经到了,因为它最后一个跑了。
我试图想办法使得第二个服务将只能运行它的批处理过程时,新的消息是准备处理如果第二个服务错误的第一个服务将继续下去,反之亦然。在那一刻,它使用一个循环,每5秒钟。
我目前正在考虑使用信息队列,那里的第一个服务中写入一个消息只有在队列是空的,第二个服务将会看到如果队列中含有任何消息,如果不进一步等待,直到达一个消息,然后删除的信息和运行。因此,使用的队列并不真正作队,但是作为二进制的开关时,它的态变化起因事件被触发的第二个服务。
我想有一个更好的方式来做到这一点,我有没有遇到有人可以请我在正确的方向?
解决方案
实际上,你的方法是 到底 我怎么会落实这些结果。有内容的,你不需要检查如果您有一则消息写入队列,第一个服务只是写到队列,第二个服务只是读取它对其进行处理(当活性)。
美丽的使用内容是,一方或其他服务可以下来,但是 的队列 将来,所以你可以继续处理。
其他提示
在我看来,如果对于这种情况下,所有你需要的是一个邮筒.第一个业务储入数据库,然后发送"的工作要做"的信息。另一只在等待入境的消息。
内容是一位重量级的东西这简单。然后你又可以使用内容和摆脱该数据库完全了。 那 会的方式来做到这一点。
不隶属于 StackOverflow