Возможно, вы захотите реализовать интерфейс IManageMessageFailures. Этот интерфейс дает вам доступ к исключению и сообщению:
public interface IManageMessageFailures
{
void SerializationFailedForMessage(TransportMessage message, Exception e);
void ProcessingAlwaysFailsForMessage(TransportMessage message, Exception e);
}
Если это не удастся, то все, что вы укажете в своей конфигурации, вызовет действие, которое нужно предпринять. Это делается через DefineCriticalErrorAction(Action onCriticalError)
. По умолчанию количество рабочих потоков устанавливается на 0, что позволяет замедлить процесс. Вы можете сделать это прямо в вашем менеджере ошибок. Вы должны иметь возможность подключиться к транспортному слою, чтобы добавить нити обратно.