这里是调用代码
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;
}
}
}
先谢谢了,请告诉我我做错了什么。这两个项目在不同的解决方案下