2010-04-29 5 views
4

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

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

Спасибо, yonadav

ответ

2

ЗАКАНЧИВАТЬ Exception в Michelle Бустаманта Handling Proxy Generator. Она автоматически обрабатывает повторные попытки:

http://wcfproxygenerator.codeplex.com/

С сайтом:

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

+3

Спасибо за ответ. Это решение кажется довольно сложным, нет ли более простых решений? Разве MS не включала рамки расширения для ClientBase без необходимости замены генератора? – Yon