Почему мой обработчик Rebus вызывается несколько раз для одного сообщения Azure Service Bus? - PullRequest
0 голосов
/ 16 мая 2019

Я использую Rebus для отправки сообщения в очередь служебной шины Azure. Кажется, что для каждого сообщения мой метод-обработчик вызывается несколько раз. Received. записывается в 9 отдельных файлов журнала.

Производитель:

await _bus.Advanced.Routing.Send("some-queue", new SomeMessage());

Потребитель:

public class SomeMessageHandler : IHandleMessages<SomeMessage>
{
    public async Task Handle(SomeMessage message)
    {
        _logger.Information("Received.");

        await SomeApiCall();
    }
}

Конфигурация потребителя:

builder.RegisterRebus((configurer, context) => configurer
    .Logging(l => l.Serilog())
    .Transport(t => t.UseAzureServiceBus("Endpoint=<redcated>;SharedAccessKeyName=<redacted>;SharedAccessKey=<redacted>", "some-queue")));

1 Ответ

1 голос
/ 16 мая 2019

Метод выбрасывал необработанное исключение. Ребус пытался повторно обработать его, так как он выдает ошибку.

Добавление обработки исключений позволило завершить метод. Теперь обработчик вызывается только один раз, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...