Я не уверен, что вы подразумеваете под лучшими практиками - у вас правильный скелет кода, поэтому просто заполните его своей реализацией. Случайные точки, которые могут быть полезны:
Вы можете читать настройки конфигурации обычным способом (ConfigurationManager
и т. Д.). Ваш обработчик работает в том же процессе и потоке, который вызвал ExceptionPolicy.HandleException
.
Было бы неплохо сделать код обработчика потокобезопасным на тот случай, если вам придется обрабатывать исключения в нескольких потоках (а если вы этого не сделаете в этом проекте, вам может понадобиться следующий). 1007 *
Если вы хотите передать какие-либо нестатические данные экземпляра в обработчик из вызывающего кода, вы можете заполнить словарь Data
обрабатываемой исключительной ситуации, который будет сохранен в целой цепочке обработчиков и до вызывающий код снова. Я использовал эту технику, чтобы отправлять данные в обработчик, получать данные обратно из обработчика и позволять одному обработчику управлять действиями следующего в цепочке. Если вы сделаете это, убедитесь, что все значения Data
являются сериализуемыми.