成功发起请求后无法获得 MassTransit 响应

Cannot get MassTransit response after successfully initiating request

我正在使用 MassTransit 和 Amazon MQ 实施 request/response。 (.NET 6 WebApi) 主机配置如下:

services
    .AddMassTransit(x =>
    {
        x.AddConsumer<ConfigurationConsumer>();
        x.UsingRabbitMq((context, cfg) =>
        {
            cfg.Host(new Uri($"amqps://{rabbitMqSettings.Host}:{rabbitMqSettings.Port}/{Uri.EscapeDataString("/vhostname")}"), h =>
            {
                h.Username(rabbitMqSettings.Username);
                h.Password(rabbitMqSettings.Password);
            });
            cfg.ConfigureEndpoints(context);
        });
        x.AddRequestClient<IConfigurationCommand>();
    })
    .AddMassTransitHostedService();

客户端使用相同的配置,但没有 x.AddConsumer() 和 cfg.ConfigureEndpoints(context)。

问题是:在客户端上调用 GetResponse 将成功执行主机上的使用者,这似乎按预期响应,但客户端永远不会得到结果并超时。

另一方面,当我在同一台主机上使用 Web api 控制器启动 GetResponse 时,一切都按预期工作。

确保主机和客户端应用程序之间的消息类型相同。

此外,确保使用托管服务或其他方式在客户端上启动总线。