.NET Webservice Client: автоматическая повторная попытка при сбое вызова - PullRequest
5 голосов
/ 29 апреля 2010

У нас есть клиент .NET, вызывающий веб-сервис Java с использованием SSL. Иногда происходит сбой вызова из-за плохой связи (.NET-клиент представляет собой пользовательский интерфейс, который используется из самых странных мест). Мы хотели бы реализовать механизм автоматической повторной попытки, который будет автоматически повторять неудачный вызов X раз, прежде чем сдаться. Это должно быть сделано исключительно с определенными типами исключений подключения (а не с исключениями, генерируемыми самим веб-сервисом).

Мы пытались найти способ сделать это на уровне Binding / Channel, но не смогли ... есть идеи?

Спасибо, yonadav

1 Ответ

2 голосов
/ 29 апреля 2010

Проверьте прокси-генератор обработки исключений Мишель Бустаманте. Он автоматически обрабатывает повторы:

http://wcfproxygenerator.codeplex.com/

С сайта:

Этот пользовательский инструмент расширяет WCFProxyGenerator для предоставления прокси обработки исключений. Он генерирует дополнительный прокси-сервер под названием ExceptionHandlingProxy, который наследует ExceptionHandlingProxyBase - последний из которых реализует основные функции прокси-сервера. В результате вы можете выбрать использование прокси-сервера по умолчанию, который наследует ClientBase или ExceptionHandlingProxy, который инкапсулирует управление временем жизни фабрики каналов и канала. ExceptionHandlingProxy учитывает ваш выбор в диалоговом окне «Добавить ссылку на службу» в отношении асинхронных методов и типов коллекций.

...