Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Распределённые приложения и сеть > WCF. Как определить, жив ли TransparentProxy? |
Автор: opozdaika 23.7.2009, 16:31 |
Вот есть сервер и клиент WCF. Всё работает. Потом вдруг оборвался провод, а клиент об этом ничего не знает. У него по-прежнему есть прокси для вызова методов сервера, причем этот прокси не равен null. Но при попытке вызова метода по этому прокси приходит исключение: ----------------------------------------------- Коммуникационный объект System.ServiceModel.Channels.ServiceChannel нельзя использовать для связи, так как он находится в состоянии Faulted. ----------- [или по-агнлийски]------------- The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state ----------------------------------------------- Вот нехитрый код, вызывающий исключение: if (m_Proxy != null) m_Proxy.CallMethod(); Как видите, я подстраховался проверкой на null, но это меня не спасло. Вопрос: как узнать, что ServiceChannel находится в состоянии Faulted? Вариатн с try { m_Proxy.CallMethod(); } catch { } прошу не предлагать, т.к. я хочу разобраться и сдалеть со своей проверкой. Спасибо. |