NServiceBus SetHeader在Catch of Handler中

时间:2013-09-24 18:20:41

标签: nservicebus

我们在消息处理程序中使用了try catch,我们意识到它违反了不处理异常的推荐最佳实践。也就是说,我被要求识别最后的重试并在被抑制的事务中向另一个队列发送消息。然而,发送消息是有效的,我正在调用message.SetHeader(也尝试了Bus.CurrentMessageContext.Headers [EsbService.FirstLevelRetriesHeader] = currentFirstLevelRetryAttempt.ToString();)来实现我自己的重试尝试跟踪。基本上希望在标头中写入递增的数字,并查看它何时达到特定值以触发将消息发送到另一个队列。它似乎写入它,但是当再次处理消息时,它永远不会出现。我正在使用事务,因此当我抛出异常时,更改可能会被回滚。我也尝试在一个被抑制的事务中写入标题,但这不起作用。

有没有办法更新标题,同时仍然让异常冒泡到NSB。

0 个答案:

没有答案