【发布时间】:2021-07-15 13:51:22
【问题描述】:
我在我们的 c# 应用程序中实现了公共交通通用发布器,它在大多数情况下都可以正常工作,没有任何问题。但是我们注意到,最近当 RabbitMq 出现故障时,消息丢失了。如果连接尚未建立或无法在启动时建立,则应用程序按预期抛出,并对其进行处理和记录以供查看。但是如果连接在运行中消失,那么由于某种原因没有任何东西被抛出并且消息只是丢失了..在我们“发布”之前是否有任何方法可以使用此设置检查连接状态,因为如果连接断开,IsStarted 状态不会改变。
这里是我们使用的代码片段(这里只显示发布部分)
_messagePublisher.Start();
...
if (_messagePublisher.IsStarted)
{
await _messagePublisher.Publish(attempt, _messageRouter.ObtainRoutingKey(attempt));
}
else {//Do stuff}
【问题讨论】:
标签: c# rabbitmq masstransit