有人可以解释一下isExclusive
EasyNetQ.Topology.Queue 类型的构造函数参数的使用。
注意:此类型需要实例化才能使用高级 API 删除队列。
来自AMQP 文档
“独占队列只能由当前连接访问,并在该连接关闭时被删除。不允许其他连接被动声明独占队列。”
在删除队列之前检查队列是否存在是个好主意。进行被动声明(如果队列不存在则不会创建队列)将返回一个 IQueue 实例,然后您可以使用该实例将其删除,并且您不必担心 isExclusive 参数:
// may throw if queue doesn't exist
var queue = advancedBus.QueueDeclare("my.queue.name", passive = true);
advancedBus.QueueDelete(queue);
作为旁白。IQueue 的 isExclusive 参数未在 IAdvancedBus.Delete(..) 方法中使用,因此您可以愉快地忽略它(需要注意的是,这可能会在未来的版本中发生变化)。