2

我正在使用 NSerivceBus 构建一个系统,它应该只在特定的时间范围内将消息发送到远程处理程序。到目前为止,我设法将所有消息放在一个处理队列上,并从那里检查远程处理程序的可用性,如果处理程序不可用,我不会将消息发送到边界之外。为此,我正在使用

Bus.HandleCurrentMessageLater()

但NSB会在之后继续尝试。它不像另一个监听器会在几分钟内启动并运行,但它可能有几个小时的中断窗口,所以这并不完全有效。

想知道是否有办法让总线稍后重试消息,或者不要继续重试并在下次重试之前等待一段时间。我将使用 Sagas,只是简单的命令/处理程序消息。

4

1 回答 1

5

在 3.0 版中,您可以使用 Bus.Defer 在特定时间跨度过去后取回消息。

于 2012-04-13T12:06:15.067 回答