为什么使用 RabbitMq Mass Transit 会跳过我的所有消息

时间:2021-05-26 17:32:34

标签: rabbitmq .net-5

这里是调用代码

   Uri uri = new Uri("rabbitmq://localhost/accountTestQueue");
             var endPoint = await _bus.GetSendEndpoint(uri);
             await endPoint.Send(user);

这里是调用API的启动

 services.AddMassTransit(x =>
        {
            x.AddBus(provider => Bus.Factory.CreateUsingRabbitMq(config =>
            {
                config.UseHealthCheck(provider);
                config.Host(new Uri("rabbitmq://localhost"), h =>
                {
                    h.Username("guest");
                    h.Password("guest");
                });
            }));
        });
        services.AddMassTransitHostedService();

这是消费者启动

services.AddMassTransit(x =>
        {
            x.AddConsumer<ParentConsumer>();
            x.AddBus(provider => Bus.Factory.CreateUsingRabbitMq(cfg =>
            {
                cfg.UseHealthCheck(provider);
                cfg.Host(new Uri("rabbitmq://localhost"), h =>
                {
                    h.Username("guest");
                    h.Password("guest");
                });
                cfg.ReceiveEndpoint("accountTestQueue", ep =>
                {
                    ep.PrefetchCount = 16;
                    ep.UseMessageRetry(r => r.Interval(2, 100));
                    ep.ConfigureConsumer<ParentConsumer>(provider);
                });
            }));
        });
        services.AddMassTransitHostedService();

这里是消费者类

namespace TestAPI.Consumers
{
    public class ParentConsumer : IConsumer<UserProfileDto>
    {
        public async Task Consume(ConsumeContext<UserProfileDto> context)
        {
            var data = context.Message;
    }
  }
}

先谢谢了,请告诉我我做错了什么。这两个项目在不同的解决方案下

0 个答案:

没有答案
相关问题