Обработка ObjectDisposedException на отключенных каналах WCF - PullRequest
0 голосов
/ 04 августа 2011

Когда метод вызывается на канале WCF, который по какой-то причине был отключен, он вызывает исключение ObjectDisposedException.

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

Проблема в том, что я просто получаю исключение общего назначения в своем обработчике исключений всего приложения, поэтому у меня нет способа определить, бросил ли WCF его.

, чтобы обойти это, у меня в настоящее время есть класс-обертка, который просто оборачивает все вызовы сервисных методов с помощью try / catch и перебрасывает любые исключения ObjectDisposedException как исключение пользовательских коммуникационныхмой глобальный обработчик может иметь дело схотя я могу обойтись без этого.

Есть ли какой-нибудь способ определить, вызвал ли WCF исключение?

Приветствия

1 Ответ

1 голос
/ 05 августа 2011

Раньше я сталкивался с такой проблемой, кажется, трудно определить, вызывает ли WCF исключение.Вы не можете использовать CommunicationObject.Status для этой проблемы, только когда вы пытаетесь использовать этот канал, он выдает исключение, чтобы сообщить вам, что канал неисправен.

Поэтому я использовал путь, как твой.

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