是否可以更改easynetq中的默认交换?

本文关键字:默认 交换 easynetq 是否 | 更新日期: 2023-09-27 18:16:09

我在easynetq同时运行多个环境时遇到了麻烦

当我在dev环境中发布消息时,该消息也在stagingacceptance环境中被拾取。

解决这个问题的方法是使用像 这样的高级总线为每个环境创建一个交换器。
string exchangeName = String.Format("MyProject_{0}", environmentName);
return advancedBus.ExchangeDeclare(exchangeName, ExchangeType.Direct);

然而,我现在不知道如何使此默认交换将被使用,如果我解析一个IBus接口。

这是可以做到的,还是我必须走下只使用IAdvancedBus的路线?

是否可以更改easynetq中的默认交换?

你真的不应该在不同的环境中共享相同的RabbitMQ虚拟主机。这就像期望一个SQL数据库处理开发,测试和生活。

在特定于环境的App(Web)中维护每个环境的不同配置。配置文件(或使用某种标记化)。每个配置应该维护一个唯一的EasyNetQ连接字符串。您可以让它们都使用同一个代理,但是让它们连接到不同的虚拟主机。