我正在努力升级使用旧Windows Azure Service Bus(2.0之前版本)的代码。
此代码使用企业库瞬态故障处理块来提供在调用Service Bus API以发送和接收队列消息时利用的重试策略。
通常代码看起来像这样(减去所有try / catch / finally等):
retryPolicy.Execute(() => { queueClient.Send(msg); });
但是,在Service Bus 2.0中,重试策略内置于消息传递工厂中,因此我可以设置:
_msgFactory.RetryPolicy = RetryExponential.Default;
var queueClient = _msgFactory.CreateQueueClient(path, mode);
完成后,我可以围绕调用queueClient.Send(msg).
这是否真的需要确保队列客户端重试瞬态异常?似乎很简单。我怎样才能证明它正在重试?
答案 0 :(得分:1)
这确实是你需要做的;)它不容易模拟将被处理瞬态的错误。可能是一个非常短的网络问题(虽然我不确定客户端连接问题是否会被视为瞬态)