Рабочий процесс Windows - не удается обработать исключение в ReceiveActivity - PullRequest
1 голос
/ 15 декабря 2009

У меня есть последовательный рабочий процесс, который размещен в IIS как служба рабочего процесса.

Мой рабочий процесс начинается с ReceiveActivity, а внутри ReceiveActivity выполняется вызов службе WCF с SendActivity. Если этот вызов получает исключение, на моем ReceiveActivity есть FaultHandlerActivity, которое предназначено для обработки вызова и отправки значения по умолчанию обратно клиенту.

Что происходит в моем клиенте, так это то, что исключение SendActivity возвращает к клиенту пузырек назад как FaultException, несмотря на то, что мой FaultHandlerActivity работает (я проверил это, зарегистрировав начало и конец единого CodeActivity в моем обработчике ошибок )

У меня такой вопрос: как я могу проглотить исключения, возникающие в SendActivity, без возврата FaultException клиенту?

1 Ответ

0 голосов
/ 16 декабря 2009

ОК, я понял.

У моего receiveActivity был обработчик ошибок непосредственно на нем. В таком случае происходит то, что если какое-либо дочернее действие вызывает исключение, вызывается обработчик ошибок в получающем действии, и он также устанавливается в состояние Failed, и полученное исключение возвращается клиентскому приложению - хотел я этого или нет .

Решение состояло в том, чтобы добавить действие последовательности внутри receiveActivity, выполнить всю обработку внутри действия последовательности и добавить в Sequence faultHandlerActivity, которое устанавливает мое возвращаемое значение по умолчанию.

Операция приема никогда не прерывается, и исключение не возвращается моему клиенту, но возвращается значение по умолчанию, установленное в FaultHandler последовательности.

Надеюсь, это поможет кому-то еще с такой же проблемой

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