0

У меня есть следующие в моей системе:Что такое эффективный способ для входа в существующую систему

  • 4 Файловые папки
  • 5 Приложения, которые делают некоторую обработку файлов в папках, а затем переместить файлы в следующей папке (обработка: чтение файлов, обновление db ..)

Процесс определяется этапами: 1,2,3,4,5.
По мере перемещения файлов поле Stage в них обновляется до следующего этапа.

Иногда в системе есть исключения, не обязательно исключения в коде, но исключение в процессе.
Например, при передаче файла в следующую папку произошла ошибка. В этом случае этап не обновляется, и запись записывается в БД для этого файла.

Что я хочу сделать, что такое лучший подход?

Я хочу подключить какую-либо утилиту или добавить код в приложения, которые будут захватывать любые исключения в процессе. Например, если файл не был перемещен, я хочу знать, на каком этапе и почему. Это поможет разобраться в этом процессе.
Мне нужно что-то, что обеспечит общее состояние здоровья процесса.
Теперь уверен, как это сделать с архитектурной точки зрения.

+0

Если по заявлению вы имеете в виду exe. Тогда одним из способов было бы установить код выхода и иметь все, что запустило его действие на нем. –

+0

@ Тони Хопкинсон да, я имею в виду exe по заявке. Не могли бы вы уточнить «код выхода»? Приложение вызывается планировщиком. – Picflight

ответ

1

Планировщик? Хорошо, что может все-таки выбить идею.

Код выхода по-прежнему работает от дней dos.

это свойство класса Application (0 по умолчанию) успех

Так из вашего приложения вы обнаружить ошибку и установить ApplicationExitCode в каком-то смысле числа, как 1703 (б ого-го)

Application.ShutDown(1703);// is the .net4 way 

Однако, видя, что, по-видимому, планировщик просто запускает приложение, вам придется все это скриптировать. Мог бы просто написать общую библиотеку протоколирования и добавить ее в каждое приложение как беспорядок с этим, особенно если вам нужно то же самое поведение, если оно запускается из-за пределов планировщика.

Другим вариантом было бы делегирование. т.е. вы пишете приложение, которое запускает приложение (передается как параметр командной строки), и записывает результат (через код выхода для примера), а затем меняет элементы планировщика, чтобы вызвать это с требуемым параметром.

 Смежные вопросы

  • Нет связанных вопросов^_^