Скажите, что я получил WCF-клиент, который взаимодействует с сервисом WCF в IIS7 (TCP), используя channelelfactory. Если связь нарушена (или услуга переработана), то следующий вызов от клиента приведет к исключению.Исключение связи и перезагрузка автоматически?
На этом этапе мне нужно скрыть исключение и вместо этого попытаться выполнить повторное подключение/повторный вход.
Вопрос, если есть какой-либо простой способ сделать это без добавления кода обработки в каждый ServiceAgentMethod на стороне клиента? Можно ли, например, решить проблему с помощью MessageInspector?
В моем случае у меня было несколько классов агентов в клиенте, который запускает методы обслуживания с уникальным IServceInterface, созданным из ChannelFactory. Что-то вроде этого:
MyServiceAgent.GetService().GetMyObjects
GetService() возвращает IServiceInterface, который создается при входе в систему с помощью ChannelFactory.
Я не уверены, что вы имеете в виду с интерфейс клиента? Мысль - использовать какой-то метод делегата. Скажем, что метод грабят делегат и возвращает объект. Метод попытается запустить делегат (против службы) и обработать повторное подключение, если это необходимо. Когда выполняется успешный вызов, верните объект и дайте методу агента применить его к правильному типу. Будет ли это работать? – Banshee