Почему надо использовать SOAP Faults вместо .NET Exceptions в WCF?

WCF Faults Exceptions

Исключения выставляют ряд ограничений и возможных рисков безопасности:

  • они зависимы от платформы/технологии;
  • исключения могут вызвать плотную связь между клиентами и сервисом (Клиенты должны знать, какие исключения могут быть вызваны каждой операцией);
  • исключения могут выдать клиентам подробности реализации сервиса;
  • исключения могут выдать частную и личную информацию;
  • исключения и иерархии исключений тяжело представимы с помощью метаданных.

Поэтому требуется связать исключения на сервисе с их эквивалентом на клиенте.

Это легко реализовать с помощью SOAP Faults. Особенно это интересно тем, что исключения, которые получают клиенты WCF, представлены как FaultException.