[从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:(
谢谢
我只是错过了using MassTransit;