Как восстановить подключение к WCF?

Я использую WPF в качестве клиента и WCF в качестве сервера.

Иногда компьютер, на котором размещен WCF, теряет подключение к Интернету на несколько минут.

Если клиент запрашивает что-то в WCF, когда он не работает, возникает исключение, и я не знаю, как попытаться восстановить соединение. Даже когда сервер WCF работает, когда клиент теряет соединение, он не может восстановить его, пока я не перезагружу клиентское приложение.

Как мне попытаться восстановить соединение на стороне WPF (клиент)?


person alansiqueira27    schedule 25.11.2013    source источник
comment
Просто создайте новое соединение так же, как вы создали старое соединение.   -  person nvoigt    schedule 25.11.2013
comment
как? Просто создав новый экземпляр службы? :о   -  person alansiqueira27    schedule 25.11.2013
comment
Да, новый экземпляр службы создаст новый канал связи, и, таким образом, неисправное состояние исчезнет.   -  person Bram Van Strydonck    schedule 25.11.2013
comment
о, буду тестить. Спасибо!   -  person alansiqueira27    schedule 25.11.2013
comment
ха! Это сработало! Я действительно не думал об этом. Спасибо!   -  person alansiqueira27    schedule 25.11.2013
comment
Подумайте о том, чтобы отметить ответ ;-)   -  person Bram Van Strydonck    schedule 25.11.2013


Ответы (2)


Это может быть связано с неисправным состоянием. Состояние сбоя обычно возникает из-за того, что служба столкнулась с ошибкой, которая не была должным образом обнаружена и обработана на сервере, и, таким образом, канал связи между клиентом и сервером «неисправен». Вы должны воссоздать совершенно новый канал связи, чтобы восстановить соединение.

Создайте новый экземпляр службы, он создаст новый канал связи, и, таким образом, неисправное состояние исчезнет.

person Bram Van Strydonck    schedule 25.11.2013
comment
да, ключевым моментом является создание нового экземпляра службы. Спасибо. - person alansiqueira27; 25.11.2013

Похоже, у вас открыты долговременные соединения, это плохая практика.

Держите ваши соединения короткими и не используйте использование

http://coding.abel.nu/2012/02/using-and-disposing-of-wcf-clients/

person JFM    schedule 25.11.2013