MassTransit пропускает сообщения, отправленные служебной шиной Azure и опубликованные с помощью Azure Devops Service Hook

Я пытаюсь использовать сообщение в .NET WebAPI с помощью MassTrasnit, которое отправляется на ресурс служебной шины Azure с помощью Azure Devops Service Hook, который срабатывает, когда пользователь создает рабочий элемент. Похоже, я все настроил правильно, и все имена конечных точек и тем совпадают друг с другом, но когда я пытаюсь отключить сервисный крючок, API обнаруживает, что ему было отправлено сообщение, но MT пропускает его и помещает оно в очереди недоставленных писем. Я не уверен, нужно ли мне детализировать модель для моего сообщения, поэтому оно пропускает или что-то в этом роде, но я подумал, может быть, кто-нибудь сможет мне помочь.

Это моя конфигурация MassTransit в Program.cs.

       builder.Services.AddMassTransit(x =>
    {
        x.AddConsumer<WorkItemCreatedConsumer>();

        x.UsingAzureServiceBus((context, cfg) =>
        {
            cfg.Host("[Connection String]");

            cfg.ConfigureEndpoints(context);
        });
    });

Это мой потребитель сообщений

       public class WorkItemCreatedConsumer : IConsumer<WorkItemCreated>
    {
        private readonly ILogger<WorkItemCreatedConsumer> _logger;

        public WorkItemCreatedConsumer(ILogger<WorkItemCreatedConsumer> logger)
        {
            _logger = logger;
        }

        public Task Consume(ConsumeContext<WorkItemCreated> context)
        {
            _logger.LogInformation("Work Item Created {Message}", context.Message);
            return Task.CompletedTask;
        }
    }

И это моя модель сообщения

      public class WorkItemCreated
    {
        public string Id { get; set; } = default!;
    }

Но когда я запускаю свой API, и все запускается правильно, а затем я иду и устанавливаю правильное имя темы, созданное в служебной шине Azure, в моем сервисном хуке Azure, и запускаю на нем тест, он пропускает это сообщение

      [12:43:34 DBG] SKIP sb://test-sample.servicebus.windows.net/WorkItemCreated 646a01b9-24ca-43e1-b3c1-e1d3f459573b
[12:43:36 DBG] Queue: WorkItemCreated_skipped (dead letter)
[12:43:37 INF] MOVE sb://test-sample.servicebus.windows.net/WorkItemCreated 646a01b9-24ca-43e1-b3c1-e1d3f459573b WorkItemCreated_skipped dead-letter

РЕДАКТИРОВАТЬ:

На вопрос ответил Крис Паттерсон в комментариях: мне нужно было использовать RawJsonDeserializer для издателей, не поддерживающих MT.

0 ответов

Другие вопросы по тегам