Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

□ Реализация службы с помощью классов, находящихся в пространстве имен

System.ServiceProcess
.

□ Программы установки для конфигурирования службы в реестре.

□ Написание программы для управления службой с помощью класса

ServiceController
.

□ Реализация обработки событий. Так как службы обычно не имеют интерфейса пользователя, ошибки не могут выводиться в окне сообщений. Обработка событий является хорошим способом сообщения об ошибках.

□ Производительность службы. Мониторинг производительности может использоваться для получения информации о нормальном выполнении службы.

Вначале мы рассмотрим, что же такое службы.

Понятие службы

Службы Windows являются приложениями, которые начинают работать автоматически при запуске операционной системы. Они могут выполняться без интерактивного взаимодействия с пользователем системы. Можно сконфигурировать службу под требования специально сконфигурированным пользователем или таким пользователем

System
, который имеет больше привилегий, чем системный администратор.

Службы не выполняются на Windows 98 или Windows ME. Для них требуется ядро NT. Службы Windows работают в Windows NT 4, Windows 2000 и Windows ХР.

Вот несколько примеров таких служб:

□ Простая служба TCP/IP является служебной программой, которая содержит несколько небольших серверов TCP/IP:

echo
,
daytime
,
quote
и других.

□ Служба публикации в Web является службой Информационного сервера Интернета (IIS).

□ Журнал событий является службой для регистрации сообщений в системе регистрации событий.

□ Microsoft Search является службой, которая создает индексы данных на диске.

Можно использовать административную утилиту Component Services (Службы компонентов) для просмотра всех служб в системе. В Windows 2000 Server эта программа доступна через Start|Programs|Administrative Tools|Services:

Архитектура

Три типа программ требуются для работы службы. Служебная программа предназначена для решения реальной проблемы, в ней необходимо закодировать реальную функциональность. С помощью служебной управляющей программы можно посылать службе управляющие запросы, такие как запуск, останов, пауза и продолжение. И последнее, но не менее важное — требуется конфигурационная программа службы, с помощью которой можно установить службу. Это означает, что она не только копируется в файловую систему, но записывается также в реестр и конфигурируется как служба. В то время как компоненты .NET можно устанавливать, делая хсору, так как им не требуется реестр, установке служб необходима конфигурация в реестре. Программа конфигурации службы может также использоваться для последующего изменения конфигурации службы.

Служебная программа

Прежде чем рассматривать реализацию службы в .NET, давайте выясним, на что похожа архитектура служб в Windows и какова внутренняя функциональность службы.

Служебная программа реализует функциональность службы. Ей требуются три части: основная функция (точка входа программы), основная служебная функция и обработчик. Service Control Manager (SCM) играет очень важную роль для служб, он посылает запросы службе для ее запуска и останова. В служебной программе необходимо регистрировать точки входа службы в SCM, чтобы SCM мог вызывать эти точки входа в службе.

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

Основная функция может зарегистрировать более одной основной служебной функции. Она должна регистрировать основную служебную функцию для каждой предоставляемой службы. Служебная программа может предоставить множество служб в одной программе. Например,

C:\winnt\system32\services.exe
является служебной программой, которая включает Alerter, Application Management, Computer Browser, DHCP Client, Distributed Link Tracking Client and Server, DNS Client, Event Log, и некоторые другие службы. 

Второй частью служебной программы является основная служебная функция, которая содержит функциональность службы. Эта функция вызывается SCM, когда служба должна запускаться. Служба World Wide Publishing запускает поток выполнения, который слушает обычно порт 80 и ожидает запросы HTTP. Клиент DHCP запрашивает, освобождает и обновляет динамически присвоенные адреса IP. Основная функциональность службы находится внутри основной служебной функции. У основной служебной функции существует еще одна обязанность в отношении регистрации другой точки входа в SCM: эта функция должна регистрировать функцию обработки в SCM. 

  • Читать дальше
  • 1
  • ...
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: