2

我知道我可以使用 TimeToBeReceived 属性在 NServiceBus 中实现一条消息,但是当在 TimeToBeReceived 属性中配置的时间之后未收到发送的消息时,nservicebus 是否具有执行事件处理程序的基础设施?

4

2 回答 2

4

您可以应用地尝试执行此操作。让您向其发送消息的目标发送某种响应。然后,不仅仅是发送消息,还可以使用 saga 来发送消息。让 saga 在与 TimeToBeReceived 相同的时间段内请求超时。在响应处理程序方法中,完成 saga 标记本身。然后,您的 saga 中的 timeout 方法就是您正在寻找的回调。

请记住,您需要运行 TimeoutManager。

这是对安德烈亚斯简短回答的长回答:)

于 2009-11-21T00:21:27.727 回答
0

底层队列系统(MSMQ、Azure 队列等)负责丢弃“过时”的消息这一事实使得无法检测到何时发生这种情况。

简短的回答:

希望这可以帮助!

于 2009-11-20T08:54:47.947 回答