使用NServiceBus的“重试”系统非常棒。它可以很好地确保像死锁这样的小东西不会弄乱我们。
然而,有时我知道消息是坏的。从某种意义上说,没有多少重试会有所帮助。
有没有办法告诉NServiceBus:“此消息是一个坏苹果,将其移至错误队列”?(并让它跳过重试?)
答案 0 :(得分:3)
如果您使用的是NSB 3,则可以查看IManageMessageFailures界面。这将允许您插入您的功能,但这是在消息失败后。如果您想早些知道该消息,请查看Message Mutators功能。这将使您进入传输层和应用层。
答案 1 :(得分:1)
在处理程序中调用Bus.DoNotContinueDispatchingCurrentMessageToHandlers();
不是一种更简单的方法吗?