gpt4 book ai didi

.net-core - 在公共(public)交通中使用带有请求/响应的主题

转载 作者:行者123 更新时间:2023-12-04 04:09:58 25 4
gpt4 key购买 nike

我将 Masstransit dotnet core v6.3.1 与 RabbitMQ v3 结合使用。我的案例是从 api 网关向其他服务发送请求。服务按主题和网关使用,每个请求使用不同的主题。我正在尝试对公共(public)交通使用请求/响应。但是 requestClient 将 exhange 类型声明为扇出。而且我无法更改类型。我想对请求/响应的每个请求使用不同的 routingKey。我该怎么做?

我在网关中使用过:(启动.cs)

cfg.AddRequestClient<ISimpleRequest>();

(自定义 Controller )

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 中声明 exchange。在我使用交换 Uri 从 clientFactory 创建请求之后。但是我遇到了类似“...收到‘扇出’但当前是‘主题’”这样的错误。

最佳答案

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

Sample

还有documentation关于如何使用交换类型设置路由 key 。

关于.net-core - 在公共(public)交通中使用带有请求/响应的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61891138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com