等待使用MassTransit完成版本的传奇,版本= 6.2.1.0

问题描述 投票:0回答:1

[从Web api控制器开始,我想启动一个Saga,它将使用请求-响应模式调用其他Web api。

var sendToUri = new Uri($"{RabbitMqConstants.RabbitMqUri}{RabbitMqConstants.SagaQueue}");
var requestClient = new MessageRequestClient<ICustomerSearchReceivedEvent, ICustomerSearchCompletedEvent>(_bus, sendToUri, TimeSpan.FromSeconds(300));

从结尾开始,我想将响应发送回去:

During(CustomerSearchRequestAwaitValidationState,
    When(CustomerSearchRequestValidationPassedEv)
    .ThenAsync(async context =>
    {
        var endpoint = await context.GetSendEndpoint(context.Instance.ResponseAddress);
        await endpoint.Send(new CustomerSearchCompletedEvent(context.Instance) /*,  c=>c.RequestId = c.Message.RequestId  */);
    })
    .Finalize());

但是设置RequestId无效c => c.RequestId = c.Message.RequestId:(

谢谢

c# masstransit saga
1个回答
0
投票

我只是错过了using MassTransit;

© www.soinside.com 2019 - 2024. All rights reserved.