Как проверить, доступен ли сервис WCF?
Могу ли я использовать Proxy.Open()
в качестве указания на то, должно ли работать соединение или нет? Я хотел бы сначала проверить, доступно ли соединение, а затем, если его нет, я не буду звонить в службу во время работы приложения.
Примечание: мне нужно только проверить подключение, а не обязательно и весь клиент-сервис туда и обратно.
Я закончил создание методов Ping() в сервисе, как было предложено.
К вашему сведению, использование просто Open() просто не сработало - Open() не вызывает никаких исключений, даже если служба отключена!
1 ответ
Учитывая тот факт, что существует так много переменных, которые влияют на успешность вызова Сервиса WCF, я склонен добавлять к сервисам фиктивный метод void KnockKnock(), чтобы иметь реальное доказательство работоспособности соединения.
Этот метод также может служить двойной цели: вы можете назвать его асинхронным, чтобы уведомить сервер о том, что он должен быть подготовлен к входящим запросам. (Только начальный запуск службы может занять некоторое время.) Вызывая метод KnockKnock (), сервер может начать загрузку службы и повысить эффективность отклика ваших клиентов.