Как проверить, доступен ли сервис WCF?

Могу ли я использовать Proxy.Open() в качестве указания на то, должно ли работать соединение или нет? Я хотел бы сначала проверить, доступно ли соединение, а затем, если его нет, я не буду звонить в службу во время работы приложения.

Примечание: мне нужно только проверить подключение, а не обязательно и весь клиент-сервис туда и обратно.

Я закончил создание методов Ping() в сервисе, как было предложено.

К вашему сведению, использование просто Open() просто не сработало - Open() не вызывает никаких исключений, даже если служба отключена!

1 ответ

Решение

Учитывая тот факт, что существует так много переменных, которые влияют на успешность вызова Сервиса WCF, я склонен добавлять к сервисам фиктивный метод void KnockKnock(), чтобы иметь реальное доказательство работоспособности соединения.

Этот метод также может служить двойной цели: вы можете назвать его асинхронным, чтобы уведомить сервер о том, что он должен быть подготовлен к входящим запросам. (Только начальный запуск службы может занять некоторое время.) Вызывая метод KnockKnock (), сервер может начать загрузку службы и повысить эффективность отклика ваших клиентов.

Другие вопросы по тегам