使用NServiceBus处理超时

时间:2009-11-13 19:36:19

标签: .net nservicebus esb

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

2 个答案:

答案 0 :(得分:4)

您可以尝试这样做。 让您发送消息的目标发回某种响应。 然后,不要只是发送消息,而是使用传奇来执行此操作。 让saga请求在TimeToBeReceived的同一时间内超时。 在响应处理程序方法中,让saga标记本身完成。 然后,你的传奇中的超时方法就是你正在寻找的回调。

请记住,您需要运行TimeoutManager。

对于安德烈亚斯的简短回答,这是一个很长的答案:)

答案 1 :(得分:0)

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

简短回答:

没有

希望这有帮助!