Я создал службу документооборота для управления бизнес-процессами в моей компании. Первоначальная версия, которая не имела обработки исключений в игре, работала нормально, когда работали все составные части. Но у меня нет оснований полагать, что так будет всегда. Базы данных и другие зависимости будут иногда падать. Поэтому я должен убедиться, что мой код устойчив к этим проблемам.
Я думал о том, что я попробую / пойму в моих закодированных действиях и верну бул, который показывает, был ли код успешно завершен или нет. Затем я обернул это закодированное действие в файл XAML, который отправил бы уведомление об ошибке, а затем зациклился с задержкой в одну минуту, а затем повторил попытку - до тех пор, пока проблема не будет решена.
На моей машине для разработки все работает нормально. Я могу отключить базу данных, и обработка ошибок начинается, отправляя уведомление об ошибке, откладывая и пытаясь снова. Когда я возвращаю базу данных обратно, она преуспевает и уходит.
Когда я развертываю его на нашем тестовом сервере, он вообще не работает. Я не говорю о существующих рабочих процессах, запущенных с конфигурацией старой службы, но с НОВЫМИ рабочими процессами. Рабочий процесс не запустится правильно, и в итоге я получу исключения ServerTooBusy.
Я не знаю, является ли это приемлемым способом кодирования действий WF для обеспечения устойчивости. Я не знаю, как решить эту проблему. Я мог бы наверняка использовать некоторую помощь.
Заранее спасибо!