Я использую NService для создания конечной точки.
Конечная точка прослушивает событие и выполняет некоторые вычисления, а затем публикует результат (успех или неудача) для других конечных точек
Я знаю, что NServiceBus поддерживает ImmediateRetry и DelayRetry, и они настраиваются.
Теперь я хочу опубликовать событие результата сбоя на других конечных точках после всех повторных попыток (перед отправкой в очередь ошибок).
public async Task Handle(MyEvent message, IMessageHandlerContext context)
{
Console.WriteLine($"Received MyEvent, ID = {message.Id}");
//Connect to other services to get data and do some calculation
Thread.Sleep(1000);
Console.WriteLine($"Processed MyEvent, ID = { message.Id}");
await context.Publish(new MyEventResult { IsSucceed = true });
}
Выше мой текущий код. Он опубликует успешный результат, если не будет исключения. Но если у него есть фатальное исключение, я не знаю, как опубликовать событие результата сбоя до того, как сообщение будет отправлено в очередь ошибок.
Заранее спасибо.
Примечания: я использую NServiceBus 6.4.3