Почему ProvideFault перехватывает мои исключения TimeoutException? - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть ProvideFault() сервис, который общается через wcf.Для большинства исключений мы хотим перехватить их, преобразовать их в FaultException<CustomException> и позволить обработчику вызова обработать его, поэтому мы реализовали ProvideFault().

Пока все хорошо, и это в основном работает,Но этот сервис вызывает другой сервис, который иногда выдает TimeoutExeption;мы не хотим перехватывать это исключение, а вместо этого позволяем ему всплывать до вызывающего абонента (или даже при необходимости выдавать новый TimeoutException).Проблема в том, что когда метод выдает TimeoutException, ProvideFault() пытается справиться с ним и превратить его в FaultException.

Как заставить wcf позволить ему пузыриться как TimeoutException?

1 Ответ

1 голос
/ 02 февраля 2012

WCF отправляет исключения как FaultExceptions, поэтому вы не можете вызвать исключение Timeout Exception.

Однако вы можете отправить:

FaultException<TimeoutException>
...