我使用 C# 客户端。
有时,在我使用 BasicPublish 发送消息之前,连接会丢失。发生这种情况时,我想重试发送消息,最好是在连接恢复后。
try
{
channel.BasicPublish("exchange", "routingKey", basicProperties, body);
}
catch (OperationInterruptedException ex)
{
// Connection lost! How to try again sending the message when the connection is up again?
}
这样做的最常见模式是什么?我已经阅读了很多文档,我知道发布者确认机制允许您订阅 BasicAcks 和 BasicNacks,但是在连接中断的情况下没有发送 BasicNack 事件。因此,我可以知道消息何时成功发送,但在连接断开的情况下消息发送失败时不知道。
你有什么建议吗?C# 客户端库中是否有自动执行此操作的机制?我错过了什么?
谢谢!