Не знаете, что не так с моей логикой политики повтора с Service Bus 1.1. Мы не можем использовать служебную шину Azure. Я попробовал несколько различных конфигураций, но до сих пор не повезло, что он выстрелил. Он просто перейдет к исключению.Service Bus 1.1 (On Prem) Политика отправки сообщений не работает
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 истинно.
Я прочитал эти посты и статьи уже:
Кто-нибудь столкнулся с этим раньше? Надеюсь, я просто пропустил что-то простое.
Какое сообщение об ошибке сообщается? – Raj
Предполагается, что политика повтора должна повторить отправку сообщения до того, как будет выбрано исключение. Вот что я спрашиваю, почему это не так? Нет сообщения об ошибке, он просто не повторяет. Мы имитируем сбои служебной шины. Исключения работают по желанию, повторение никогда не происходит. Он немедленно выдает исключение. –
@ J-Mac - не могли бы вы подробнее рассказать о том, как вы имитировали сбои служебной шины.В настоящее время я сталкиваюсь с той же проблемой, о которой вы говорили в своем вопросе, и я хочу проверить, работает ли моя логика повтора или нет ... – gkb