Все исключения, инициированные на стороне службы, по умолчанию всегда достигают клиента в виде FaultException.
Передача исключения по SOAP отказе SOAP должно быть задано два значения:
- Причина (описание ошибки)
- Код ошибки (код может быть либо индикатором, либо одним из предопределенных значений перечисленных в спецификации SOAP)
Три типа исключений в WCF
- Коммуникационные ошибки CommunicationException (недоступность сети, неверный адрес, хостовый процесс не запущен и т.д.)
- Ошибки связанные с состоянием посредника и каналов ObjectDisposedException (попытка обращения к уже закрытому посреднику или несоответствие между контрактом и уровнем безопасности привязки)
- Ошибки связанные с работой самой службы FaultException (деление на ноль, обращение к несуществующему ресурсу и т.д.)
Воздействие, оказываемое на клиента и экземпляр службы, зависит от режима управления экземплярами.