Я боролся с этим уже несколько часов, но, похоже, я не могу заставить его работать, несмотря на то, что я, похоже, копирую документацию.
Я использую новый пакет MassTransit AspNetCore для регистрации моей шины и потребителя, но, похоже, она не запускает шину! Если я добавляю точку останова с помощью кода, то регистрирует конечную точку получения, она никогда не получает попадание (но часть AddBus делает), и обмен / очередь не создаются.
Стоит отметить, что это всего лишь веб-API, работающий в IIS, и что существуют также обычные конечные точки отдыха (я не знаю, имеет ли это значение или нет).
Мой код выглядит следующим образом:
services.AddMassTransit(x =>
{
x.AddConsumer<SelectAllAccessibleConsumer>();
x.AddBus(provider => Bus.Factory.CreateUsingRabbitMq(cfg =>
{
var host = cfg.Host(new Uri(rabbitMqMessageBus.Host), rabbitMqMessageBus.Username,
hostConfigurator =>
{
hostConfigurator.Username(rabbitMqMessageBus.Username);
hostConfigurator.Password(rabbitMqMessageBus.Password);
if (rabbitMqMessageBus.UseSsl)
{
hostConfigurator.UseSsl(s => { s.Protocol = SslProtocols.Tls12; });
}
});
cfg.ReceiveEndpoint(host, "queue-name", ep =>
{
ep.PrefetchCount = 16;
ep.UseMessageRetry(r => r.Interval(2, 100));
ep.ConfigureConsumer<SelectAllAccessibleConsumer>(provider);
});
}));
});
Я не могу помочь, но чувствую, что упускаю что-то невероятно очевидное, но я не могу этого понять.