在我的ASP中。NET核心控制器,我使用IMediator发送了一个命令。发送
await mediator.Send(new SubmitOrder());
SubmitOrder的消费者看起来像这个
public class SubmitOrderConsumer : IConsumer<SubmitOrder>
{
public async Task Consume( ConsumeContext<SubmitOrder> context )
{
var sendEndpoint = await context.GetSendEndpoint( new Uri( "rabbitmq://localhost/notification-service" ) );
await sendEndpoint.Send( new NotifyOrderSubmitted() );
}
}
向传输发送消息会导致错误消息
MassTransit.MessageNotConsumedException: 'loopback://localhost/mediator => The message was not consumed'
发布不会在RabbitMQ 上添加消息
有没有一种方法可以用ConsumeContext
来实现这一点,而不是注入IBusControl
或IBus
,因为我希望保留消息线程的上下文
在Mediator中使用消息时,接口都是与中介相关的。要将轨道从中介器跳到总线,您需要通过依赖项注入将总线(通过IBus
(引用到消费者。