不确定我的 Service Bus 1.1 重试策略逻辑有什么问题。我们无法使用 Azure 服务总线。我尝试了几种不同的配置,但仍然没有成功。它只会移动到异常。
TokenProvider provider = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", "<key goes here>");
var retryPolicy = new RetryExponential(TimeSpan.FromSeconds(10), TimeSpan.FromMinutes(3),
TimeSpan.FromSeconds(10), TimeSpan.FromMinutes(5), 1000);
var _factory = MessagingFactory.Create("<Namespace Address>", provider);
var _sender = _factory.CreateMessageSender("Analytics");
_sender.RetryPolicy = retryPolicy;
var message = new BrokeredMessage("message");
try
{
_sender.Send(message);
}
catch(Exception e)
{
Console.WriteLine(e);
}
出于测试目的,我将重试策略设置得异常大。据我所知,它永远不会重试该消息。我已经测试了各种异常,包括那些 istransient 为真的异常。
我已经阅读了这些帖子和文章:
有没有人遇到过这个?我希望我只是缺少一些简单的东西。