Потребитель команды MassTransit создает тему.Это правильно? - PullRequest
1 голос
/ 23 мая 2019

Я новичок в Azure Service Bus и MassTransit, и я экспериментирую с отправкой простой команды в очередь, а затем с тем, чтобы потребитель использовал эту команду. Я могу успешно получить сообщение, отправленное и затем потребленное моим потребителем, однако я заметил, что соответствующая тема также создается. Я несколько наивно понимаю, что эту тему нужно использовать только для публикации событий и подписок.

Это то, что настраивает мой экземпляр IBus, где IMessageBus инкапсулирует экземпляр MassTransit.IBus

public static IMessageBus CreateBusAndRegisterQueueConsumer<T>(string servicePath, string queueName, IComponentContext autoFacContext)
            where T : class
        {
            return new MessageBus
            {
                Instance = Bus.Factory.CreateUsingAzureServiceBus(
                    sbc =>
                    {
                        var host = ConfigureServiceBus(servicePath, sbc);
                        sbc.ReceiveEndpoint(host, queueName, ec =>
                        {
                            ec.Consumer<CommandConsumer<T>>(autoFacContext);
                        });
                    })
            };
        }

Является ли поведение, которое я наблюдаю, правильным, в том смысле, что отправка команд всегда будет скрытой темой, или я неправильно настроил свою служебную шину? И если нужно создать тему, это связано с тем, как работает MassTransit, или это какое-то базовое требование Azure Service Bus?

Это то, что я вижу в проводнике служебной шины после отправки команды

1 Ответ

0 голосов
/ 23 мая 2019

Если вы не хотите, чтобы конечная точка получения создавала / подписывалась на темы, вы можете указать:

e.SubscribeMessageTopics = false;

По умолчанию все типы сообщений настроены в посреднике для поддержки публикации. При значении false будет отключена конфигурация.

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