Необходимо разрешить IRabbitMqHost для добавления обработчика в шину после запуска шины.
Шаги для воспроизведения
Регистрация "IRabbitMqHost" в конфигурации масстранзита
Попробуй разрешить "IRabbitMqHost" в автофаке
Затем было выдано «Исключение типа« Autofac.Core.Registration.ComponentNotRegisteredException »*
builder.Register(context =>
{
var bus = Bus.Factory.CreateUsingRabbitMq(opt =>
{
var result = new List<string>();
Configuration.GetSection("RabbitMq:HostNames").Bind(result);
var host = opt.Host(result[0], Configuration.GetValue<string>("RabbitMq:VirtualHost"), h =>
{
h.Username(Configuration.GetValue<string>("RabbitMq:Username"));
h.Password(Configuration.GetValue<string>("RabbitMq:Password"));
});
builder.Register<IRabbitMqHost>(a => host);
});
return bus;
}).As<IBus>()
.As<IBusControl>();
builder.Build().Resolve<IRabbitMqHost>()
Ожидаемое поведение
Необходимо разрешить IRabbitMqHost, который настроен в конфигурации IBus, потому что необходимо добавить обработчик после запуска шины.
Нужно _rabbitMqHost.ConnectReceiveEndpoint () ...
Фактическое поведение
container.Resolve выбрасывает исключение любимой.
изображение в https://github.com/MassTransit/MassTransit/issues/1470