Я прикрепляю ConnectionShutdownHandler:
Код: Выделить всё
public class ThirdPartyConnection
...
_connection.ConnectionShutdown += ConnectionShutdownHandler;
...
void ConnectionShutdownHandler(object source, ShutdownEventArgs args)
{
var connection = (IConnection)source;
if (args.ReplyCode == 200)
{
_logger.Information($"Connection shutdown [{args.ReplyCode}]: {args.ReplyText}. {string.Join(",", connection.ShutdownReport)}");
}
else
{
_logger.Error(args.Exception, $"Connection terminated [{args.ReplyCode}]: {args.ReplyText}. {string.Join(",", connection.ShutdownReport)}");
}
}
}
https://github.com/rabbitmq /rabbitmq-dotnet-client/issues/154 предполагает, что нет необходимости выполнять очистку, поскольку Connection освобождает все ресурсы в случае ошибки.
Как я могу избавиться от соединения и модели, когда соединение разрывается?
Подробнее здесь: https://stackoverflow.com/questions/790 ... rk-failure