Я искал, как узнать, отключена ли служба WCF ИЛИ нет, и я узнал, что единственный способ узнать это - вызвать метод службы WCF. Мы можем создать метод, который возвращает true. В моем случае я хочу показать сообщение, когда служба недоступна клиенту и для других исключений службы WCF, я хочу показать исключения, как есть. Каким должен быть лучший способ?Показать сообщение, когда служба WCF отключена
ответ
Эта проблема может быть решена только «на стороне клиента», потому что сервер может отвечать «истинным», только если служба WCF запущена и настроена правильно.
Все остальные случаи должны управляться от клиента.
Простым способом вы можете назвать это простое обслуживание, если оно ответит, кажется, все в порядке, иначе вы получите ошибку или исключение, которое вам нужно поймать.
Обратите внимание, что при асинхронном/ожидании вы должны поймать исключение в более близком месте к веб-вызову, иначе вы получите исключение исключенного приложения, которое приведет к сбою домена приложения.
Вопрос OP, как я понял, больше напоминал: как отображать исключение как есть. – Sidewinder94
@ Sidewinder94 Существуют особые исключения для «Destination unreachable» в WCF, поэтому в зависимости от типа детали исключения клиент должен иметь довольно хорошее представление о том, что произошло. Я знаю, что мои вещи – MickyD
@MickyD Извините, если вы меня неправильно поняли, для меня было очевидно, что он хотел, чтобы исключения были выброшены и отображены на стороне клиента. – Sidewinder94
Если услуга принадлежит вам, то используйте этот метод, который возвращает true.
Однако вы должны просто пойти и использовать услугу, поскольку это не обязательно так, что она будет оставаться на все время, когда вы ее потребляете. Обработайте промежуточные таймауты и ошибки изящно для всех ваших операций и соответствующим образом покажите свои сообщения.
Одна клиентская вещь, которую вы можете сделать, - это отправить WebRequest и посмотреть, возвращает ли она HttpStatusCode.OK
, но не может пообещать вам, что служба не будет работать или не будет работать.
Во время вашего использования службы вы можете ожидать FaultException
, ошибки прокси и состояния канала, неправильную конфигурацию (привязки и т. Д.) И CommunicationException
объектов.
Вы можете узнать больше об этом на MSDN.
Оттуда:
Коммуникационные ошибки возникают, когда сеть недоступна, клиент использует неправильный адрес или хост-служба не прослушивает входящие сообщения. Ошибки этого типа возвращаются клиенту как классы CommunicationException или CommunicationException. Ошибки приложения возникают во время выполнения служебной операции. Ошибки такого рода отправляются клиенту как исключение FaultException или исключение FaultException.
- 1. Показать сообщение, когда веб-служба отключена
- 2. Ошибка сервера, отключена служба WCF
- 3. Когда именно служба NFC отключена?
- 4. Служба отключена, когда экран выключен
- 5. Служба отключена
- 6. Служба Android отключена, когда экран выключен
- 7. Служба отключена - служба Push отключена для приложения Id
- 8. В WinService размещен клиент WCF + PHP и отключена служба
- 9. Android-служба подключения отключена
- 10. Служба Windows отключена
- 11. Служба Android отключена
- 12. Служба Android отключена системой?
- 13. WCF Webservice - Не удалось вызвать службу. Служба отключена или недоступна
- 14. Служба WCF JSON Сообщение с использованием ASP.NET
- 15. Служба вашего ящика временно отключена
- 16. геолокация не работает, когда служба определения местоположения отключена и включена
- 17. Служба WCF Restful и служба данных WCF
- 18. symfony2 FOSElasticaBundle: как отложить обновление документа, когда служба elasticsearch отключена?
- 19. Служба доменов и служба WCF?
- 20. Сообщение WCF
- 21. Служба WCF не отвечает
- 22. Разрешить EntityManagerFactory инъекции быть нулевым, когда служба базы данных отключена
- 23. Отсутствие исключения, когда служба SOAP отключена, используя PHP
- 24. Android Geofence Автоматически удаляется, когда служба определения местоположения отключена/перезапущена
- 25. Служба WCF и служба Windows
- 26. Служба WCF Throttling
- 27. WCF вызывает время, когда возвращается большое сообщение
- 28. отправить широковещательное сообщение, когда служба остановлена
- 29. служба WCF WsHttpBinding
- 30. Ninject перехвата WCF служба
Используйте блок try/catch вокруг вашего вызова службы wcf. А в блоке catch отображает исключение, вызванное вызовом webservice? Разве вы не ищете что-то более сложное, чем это должно быть? – Sidewinder94
На самом деле вам даже не нужно возвращать 'true'. Сделайте это «пустотой». Если какая-либо его часть не работает, служба, естественно, будет виновата. – MickyD