IErrorHandler - Совместное использование кодов ошибок между ProvideFault и HandleError
Я реализовал IErrorHandler в моей службе WCF, чтобы определить, что следует отправлять клиенту (ProvideFault), и для регистрации исключения (HandleError).
В рамках этого процесса я хочу:
- Отправьте клиенту код ошибки со стандартным текстом, чтобы скрыть детали внутреннего исключения.
- Зарегистрируйте ошибку с тем же кодом ошибки, чтобы я мог сопоставить запись в файле журнала с отчетом об ошибке от клиента.
Я изучал это и не могу найти способ, где один и тот же код ошибки будет гарантированно использоваться в обоих методах, так как HandleError будет вызываться в будущем в отдельном потоке. Казалось бы, это исключает наличие некоторого счетчика уровня класса, так как ProvideFault может быть вызван дважды перед вызовом HandleError.
Кто-нибудь сталкивался с такой же ситуацией и разработал решение / шаблон для использования в этом сценарии?