Как проверить, что прослушиватель WCF запущен и работает

#c# #asp.net #wcf

#c# #asp.net #wcf

Вопрос:

Я провожу тестирование дыма в своем существующем asp.net веб-приложение, я разработал одну службу WCF и добавил ссылку на эту службу в одно консольное приложение, и с помощью консольного приложения она внесет запись в базу данных, и эти данные будут использоваться для построения диаграммы в моем веб-приложении.

Теперь я хотел бы знать, как я могу проверить, запущен ли прослушиватель WCF или нет из моего веб-приложения, потому что я не добавил ссылку на службу WCF непосредственно в свое веб-приложение, нужно ли мне добавлять ее и вызывать любую функцию для проверки моего теста или я могу сделать это каким-то другим способомспособы?

Пожалуйста, помогите мне выполнить этот шаг, если этот вопрос имеет какой-то смысл!

Спасибо Аруну.

Ответ №1:

Чтобы проверить, является ли служба WCF «живой», вам нужно ее вызвать.

Обычно у меня вызывается метод service GetVersion , который просто возвращает номер версии вызова класса service, который сообщит вам, запущена и запущена служба или нет.

Но имейте в виду: такие «пинги» к службе на самом деле говорят вам только о том, что она была запущена и доступна в тот самый момент, когда вы ее задали — через долю секунды служба может быть отключена, сеть может быть засорена или кабель мог быть отсоединен.

Я хочу сказать: выполнение этих «является ли служба WCF живой?» проверки на самом деле не так уж и полезны — следующий вызов с таким же успехом может завершиться неудачей. Итак, основная предпосылка такова: всегда будьте готовы к сбою вызова службы WCF — и будьте готовы справиться с этой ситуацией.

Комментарии:

1. Я планирую делать это периодически (каждые 1 минуту), чтобы администратор мог проверять состояние WCF на странице smoke test, правильно ли это?

2. @ArunRana: как я уже сказал, на самом деле это не так уж и полезно — в конце концов, вы всегда должны быть готовы справиться с ошибкой…

3. Я уже поставил try catch в WCF, но мой клиент хочет отслеживать статус WCF на странице smoke test каждые 1 минуту с другой проверкой базы данных. итак, мне нужно добавить ссылку на WCF в мое веб-приложение и вызвать эту функцию getversion или я могу это сделать без добавления ссылки??

4. @ArunRana: если вы хотите вызвать службу, у вас должен быть прокси-сервер на стороне клиента. Либо с помощью «Добавить ссылку на службу», либо с помощью «svcutil.exe » в командной строке

5. Как я могу это сделать, используя svcutil.exe , не могли бы вы, плз, дать какую-нибудь ссылку?