Как узнать, запущена ли служба Azure

#c# #asp.net #azure

#c# #asp.net #azure

Вопрос:

Я ищу решение, чтобы узнать, запущена ли конкретная служба или нет в веб-роли Windows Azure.

Я разработал и развернул два приложения в Windows Azure. Первое — это мое основное веб-приложение, а второе — для размещения службы (простое консольное приложение, поместите в каталог bin и запустите его).

Теперь из моего основного веб-приложения я хотел бы выполнить smoke-тест, чтобы определить, запущена ли моя служба или нет.

Я был бы рад получить предложения о том, правильно ли я это делаю или существуют более сложные подходы.

Спасибо Arun.

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

1. Ваш вопрос не очень понятен. Под «службой» вы подразумеваете службу Windows? Веб-служба, размещенная в IIS? Или что-то еще?

2. простое консольное (оконное) приложение и exe-файлы и файлы конфигурации помещаются в каталог bin webrole и запускают exe

Ответ №1:

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

Это становится еще более важным при работе в размещенной инфраструктуре, такой как Azure, поскольку у вас может быть много доступных экземпляров службы.

По крайней мере, это должно вернуть ответ «OK», если служба доступна. В зависимости от того, что делает служба, и ее зависимостей, она может пойти дальше и вернуть

  • номер версии службы и любых зависимых служб, баз данных и т. Д.
  • запущены ли также зависимые службы, например, базы данных, хранилище таблиц и т. Д.
  • физическое имя и IP-адрес компьютера (полезно для отладки)
  • время сервера (часто важно в виртуализированном приложении)
  • данные среды, такие как параметры конфигурации

Вы также можете захотеть дополнить обычные показатели диагностики Azure некоторыми своими собственными, такими как свободное место на диске, количество запросов в секунду, средняя скорость ответа в секунду за последние пять минут и тому подобное.