C# 使用Masstransit在RabbitMq中订阅时无法覆盖exchange名称

C# 使用Masstransit在RabbitMq中订阅时无法覆盖exchange名称,c#,masstransit,C#,Masstransit,我想创建一个订阅服务器,使用MassTransit和RabbitMq侦听现有的exchange和绑定到该exchange的队列。 环境详情: dotnet版本:4.8 MassTransit版本:7.1.3 请在下面找到我的订户代码: 使用系统; 使用System.Threading.Tasks; 使用合同; 使用大众运输; 命名空间订阅者 { 内部类接收 { 公共静态异步任务主(字符串[]args) { var config=new RabbitMqConfig { 连接字符串=”rabbit

我想创建一个订阅服务器,使用MassTransit和RabbitMq侦听现有的exchange和绑定到该exchange的队列。 环境详情: dotnet版本:4.8 MassTransit版本:7.1.3

请在下面找到我的订户代码:

使用系统;
使用System.Threading.Tasks;
使用合同;
使用大众运输;
命名空间订阅者
{
内部类接收
{
公共静态异步任务主(字符串[]args)
{
var config=new RabbitMqConfig
{
连接字符串=”rabbitmq://localhost",
TopicExchange=“手动交换”,
QueueSubscription=“manualqueue”,
TimeOutingMinutes=1,
UserName=“guest”,
Password=“guest”
};
var bus=bus.Factory.CreateUsingRabbitMq(cfg=>
{
主机(新Uri(config.ConnectionString),h=>
{
h、 用户名(config.Username);
h、 密码(config.Password);
});
//TODO:覆盖masstransit主题名称并使用给定配置
ReceiveEndpoint(config.QueueSubscription,e=>
{
e、 configureconsumertopology=false;
e、 消费者(()=>newvalueconsumer());
e、 绑定(config.TopicExchange);
});
});
wait bus.StartAsync();
Console.WriteLine(“等待消息…”);
Console.ReadLine();
wait bus.StopAsync();
}
}
}
以下是启动消费者之前存在的交换和队列:

创建使用者实例后,将创建一个名为队列的新exchange,并重定向绑定。由于旧的exchange被其他发布服务器使用,所以所有到达旧exchange的消息都会移动到跳过队列中。如何使用MassTransit覆盖消费者的exchange名称?
我提到过,但如果有任何示例代码可以帮助您了解如何在创建使用者时重写exchange和队列,这将非常有用。谢谢

RabbitMQ使用的拓扑是

始终会创建与队列名称匹配的exchange。绑定到该交换,而不是直接绑定到队列

它也包括在