Моя система состоит из двух сайтов, общающихся между собой с помощью WCF.Иногда возникают исключения, когда один сайт вызывает операции на своем партнере, и я пытаюсь решить, каков наилучший способ использования FaultContracts WCF в таких случаях.
В прошлых проектах я использовал для создания не- тривиальная иерархия исключений, например:
BaseSystemException
CustomerServiceException
CustomerNotFoundException
BadCustomerNameException
CustomerAlreadyExistsException
...
OrderServiceException
OrderNotFoundException
OrderAlreadyExistsException
...
Однако реализация такой иерархии быстро становится утомительной в WCF, поскольку мне приходится указывать каждый конкретный тип исключения в его собственном FaultContract.Теперь, поскольку обе службы являются частью одной и той же системы, не возникает проблем с утечкой информации / конфиденциальных вызовов / и т. Д.Я хочу, чтобы B предоставил как можно больше информации в своих исключениях, чтобы A мог соответственно реагировать.Следует отметить, что на практике многие из этих исключений обрабатываются одинаково (сбой операции и уведомление пользователя), но при разработке схемы исключений я не хочу предполагать одинаковую обработку для всех исключений.
Может кто-нибудь предложить подход, который не требует FaultContract для каждого типа исключения?Есть ли более простой способ?В конце концов, это внутренний интерфейс.Я слишком идеалистичен в желании использовать иерархию исключений?