Могу ли я использовать Proxy.Open()
как указание на то, должно ли соединение работать или нет? Я хотел бы проверить, действительно ли соединение доступно, а затем, если его нет, я не буду звонить в службу во время запуска приложения.Как проверить, доступна ли служба WCF?
Примечание. Мне нужно только проверить подключение, а не обязательно и весь клиент-сервис в оба конца.
Я закончил создание методов Ping() в службе, как было предложено.
FYI, используя просто Open(), просто не сработало - Open() не создает никаких исключений, даже если служба находится в автономном режиме!
Я всегда добавляю метод do-nothing 'Ping' к моим услугам и вызываю этот метод, прежде чем делать какое-либо реальное общение. Мне было бы интересно узнать, есть ли встроенные альтернативы. – dasblinkenlight
Это может сказать вам, можете ли вы открыть соединение ** прямо сейчас ** - но через 5 миллисекунд ваш фактический вызов все равно может выйти из строя. Просто нет смысла пытаться * проверить * это - вы не получите никакой полезной информации из этого. Вы просто ** должны быть готовы к любому вызову WCF для отказа - и обрабатывать его соответствующим образом –