在大众运输中使用带有请求/响应的主题

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

我正在将Masstransit dotnet核心v6.3.1与RabbitMQ v3结合使用。我的情况是从api网关向其他服务发送请求。服务按主题使用,并且网关对每个请求使用不同的主题。我正在尝试将请求/响应与masstransit一起使用。但是requestClient声明了exhange类型为扇出。而且我无法更改类型。我想对带有请求/响应的每个请求使用不同的routingKey。我该怎么办?

我已在网关中使用:(startup.cs)

cfg.AddRequestClient<ISimpleRequest>();

((自定义控制器)

await client.GetResponse<ISimpleResponse>(new { Data="test request"});

我已在其他服务(启动)中使用过:

cfg.ReceiveEndpoint("TestGateway", ep =>
{
    ep.Consumer(() => new SimpleConsumer(context));
});

((自定义消费者)

await client.RespondAsync<ISimpleResponse>(new { Data="test response"});

[我还试图先在rabbitmq中声明交换。在我从clientFactory与Exchange Uri创建请求之后。但是我遇到了类似“ ...收到'扇出'但当前是'主题'的错误。”

.net-core rabbitmq exchange-server masstransit request-response
1个回答
0
投票

[有关使用直接交换的示例,主题交换类似,但支持通配符语义。我建议对其进行审查,以获取有关如何使用MassTransit通过RabbitMQ配置拓扑的更多详细信息。

Sample

关于如何设置交换类型的路由密钥,也有documentation。>

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