Я использую MassTransit для приема сообщений (используя транспорт служебной шины) в консольном приложении.
Я использую services.AddMassTransit(...)
метод расширения (из MassTransit.Extensions.DependencyInjection 5.3.2) для настройки шины:
services.AddMassTransit(c =>
{
c.AddConsumer<MyEventConsumer>();
c.AddBus(provider => Bus.Factory.CreateUsingAzureServiceBus(cfg =>
{
var options = provider.GetService<IOptions<ServiceBusOptions>>().Value;
var host = cfg.Host(
options.ConnectionString,
sbhc => { });
cfg.ReceiveEndpoint(host, options.SubscriptionName, e =>
{
e.ConfigureConsumer<MyEventConsumer>(provider);
});
}));
});
Теперь мне нужно опубликовать события на другой шине (другая строка подключения служебной шины).
Неужели я не уверен, что мне нужно создать вторую шину, вызвав Bus.Factory.CreateUsingAzureServiceBus
внутри блока services.AddMassTransit(...
и каким-то образом передать этот экземпляр потребителю дляпервый автобус?
Как мне это сделать?