Добавление новых типов исключений в обработку ошибок службы маршрутизации WCF 4 - PullRequest
0 голосов
/ 22 декабря 2010

Я работаю над прототипом, используя службы маршрутизации WCF 4 для создания проходного маршрутизатора, используя функциональность обработки ошибок

У меня есть требование, когда служба WCF генерирует пользовательское исключение (в этом сценарии этоназывается notPrimaryException), оно должно обрабатываться так же, как исключение связи обрабатывается в обработке ошибок служб маршрутизации WCF4, то есть сообщение должно повторно отправляться конечным точкам в списке резервного копирования.

ТеперьЯ понимаю, что это пользовательское исключение возвращается службой маршрутизатору как исключение сбоя на уровне сообщений, а не коммуникационное исключение, возвращаемое на транспортном уровне.

Я пытался использовать инспекторы сообщений и IErrorHandlerинтерфейс (ProvideFault и Handle Error), чтобы определить, возникает ли notPrimaryException на маршрутизаторе, но ничего не принимается до тех пор, пока он не вернется к клиенту в качестве необработанного исключения ошибки.Я надеялся перехватить эту ошибку где-нибудь на маршрутизаторе и повторно отправить сообщение соответствующим образом, но я не знаю, есть ли какие-либо подходящие варианты поведения.

Есть ли способ включить дополнительные типы исключений / ошибок в обработку ошибокинфраструктура или есть другой подход, который я мог упустить из виду?

Спасибо и С уважением,

Иван

1 Ответ

0 голосов
/ 22 декабря 2010

Вы не должны обрабатывать ошибки приложения на маршрутизаторе. Обычно разработчик приложения помещает исключения FaultException в службу, ожидая, что сможет обработать их на клиенте.

Если FaultException не получен клиентом, как клиент узнает, что / что-то пошло не так?

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

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