2012-03-02 4 views
0

Я хочу, чтобы служба WCF могла возвращать некоторые известные ошибки. т.е. определенный FaultContractСпециализированный подкласс FaultException или FaultException <T>

Я немного смущен относительно того, должен ли я получать свой собственный подкласс FaultException или создавать класс детали и использовать FaultException<TDetail>.

Кажется, что есть примеры обоих рассеянных, и я просто задавался вопросом, что общего было.

Я склоняюсь к выводу, так как я думаю, что клиентский код будет выглядеть более привлекательным MyException, а не WCF, ориентированным на FaultException<MyExceptionDetail>, но на самом деле у меня нет никаких сильных чувств.

+1

Поскольку у вашего сервиса нет способа вернуть производный класс 'FaultException', ваш выбор ясен. –

+0

Казалось бы, вы правы, спасибо. Я, должно быть, нашел несколько плохих примеров. – GazTheDestroyer

ответ

0

Вы должны использовать FaultException обычно для неизвестных или общих неисправностей и FaultException<T> для типизированных неисправностей.

Типизированные ошибки более похожи на типизированные исключения в стандартном .NET, поэтому они были бы предпочтительным методом.

Отметьте, что вам необходимо использовать fault contracts в вашем контракте на обслуживание, иначе все исключения достигнут клиента как FaultException, даже если вы выбрали FaultException<T>.

 Смежные вопросы

  • Нет связанных вопросов^_^