2010-09-16 85 views
0

NServiceBus提供超时机制。从nservicebus.com正确处理NServiceBus超时

在基 类的requestTimeout方法告诉NServiceBus发送 消息到另一个端点将 持久保持的时间让我们......有一个 过程附带NServiceBus 称为超时其中 提供了 这个功能的基本实现。

到时间时,超时管理器 将消息发送回佐贺 导致其超时方法是 调用最初传递相同的状态对象 。

正如我所看到的,即使消息已传送到接收方(例如答复卡住某处),也有可能触发超时。

如何设计我的应用程序,使得我的应用程序无论消息是否传递给接收者都能正常运行。

+0

你问如果超时管理器失败怎么办? – 2010-09-16 14:12:15

+0

不。我正在考虑即使邮件已发送给接收方也会触发超时的情况(例如答复卡在某处)。问题是如何让你的应用程序运行良好,而不知道消息是否被传递。 – 2010-09-16 20:11:20

回答

1

如果客户端向服务器发送消息,然后请求超时,请求的状态将被存储。如果客户端在从服务器回复之前收到超时消息,则可以将超时返回的状态与当前状态进行比较,并查看服务器未回复并决定要执行的操作。如果请求不再有效,您可能会忽略该答复。如果是这种情况,您可能需要查看服务器消息的“TimeToBeReceived”属性。它会丢弃它在指定时间内无法收到的消息。