Ошибка триггера обработчика шины Nservice - PullRequest
0 голосов
/ 05 марта 2020

Мой проект обновляется для использования nservice bus версии 7. Один из обработчиков выполняется одновременно. После анализа выяснилось, что после выбора обработчика написан и выполняется код поведения. Затем следующий обработчик будет выполнен. Это будет выполнено в l oop и не заканчивается.

public class GatewayPublishBehavior : Behavior<IIncomingLogicalMessageContext>
{

  public override async Task Invoke(IIncomingLogicalMessageContext context, Func<Task> next)
  {
    //// custom logic before calling the next step in the pipeline.
    await next().ConfigureAwait(false); 
    // custom logic after all inner steps in the pipeline completed.
    await context.Publish(context.Message.Instance, 
  this.RetrieveAndGetSendOptions(context));
  }
}

Выше приведен код поведения. Не уверен, почему обработчик выполняется несколько раз.

1 Ответ

0 голосов
/ 07 марта 2020

Точно так же, как этот код

public void Whatever()
{
  Whatever();
}

Бесконечный l oop. Просто удалите Publi sh. Почему вы добавили эту строку? Тебе нравятся дубликаты? Потому что вы отправили один и тот же вопрос дважды. Пытаетесь создать рекурсивную l oop внутри StackOverflow?

...