Будучи новым пользователем MassTransit и RabbitMQ, я в настоящее время пытаюсь заставить свою базовую службу ASP.NET работать с MassTransit.
Принимая этот раздел документация для настройки MassTransit и ASP.NET Core Я не могу заставить его работать.
В настоящее время (часть) Startup.cs выглядит как
services.AddMassTransit(x =>
{
x.AddConsumer<MailConsumer>();
x.AddConsumer<MailFailedConsumer>();
x.AddBus(provider => ConfigureBus(provider, rabbitMqConfigurations));
});
private IBusControl ConfigureBus(
IServiceProvider provider,
RabbitMqConfigSection rabbitMqConfigurations) => Bus.Factory.CreateUsingRabbitMq(
cfg =>
{
var host = cfg.Host(
rabbitMqConfigurations.Host,
"/",
hst =>
{
hst.Username(rabbitMqConfigurations.Username);
hst.Password(rabbitMqConfigurations.Password);
});
cfg.ReceiveEndpoint(host, $"{typeof(MailSent).Namespace}.{typeof(MailSent).Name}", endpoint =>
{
endpoint.Consumer<MailConsumer>(provider);
});
cfg.ReceiveEndpoint(host, $"{typeof(MailSentFailed).Namespace}.{typeof(MailSentFailed).Name}", endpoint =>
{
endpoint.Consumer<MailFailedConsumer>(provider);
});
});
Обмен запускается автоматически в RabbitMQ при запуске, но никакая очередь не привязана к обмену, который я ожидаю.
После вызова моей конечной точки API я вижу активность на бирже, но, конечно, потребители ничего не делают, поскольку очереди нет.
Какую (очевидную) часть я упускаю?