我使用 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# 客户端库中是否有自动执行此操作的机制?我错过了什么?
谢谢!