Ватсон Карли
Шрифт:
Счетчики производительности, которые показывают общие значения, увеличиваются в методе
Для счетчиков производительности, которые показывают посекундные значения, в методе
Чтобы показывать обновленные значения каждую секунду, используется компонент
perfmon.exe
Теперь можно контролировать нашу службу. Утилита Performance может запускаться из Administrative Tools|Performance. Нажимая кнопку + в панели инструментов, можно добавить счетчики производительности. Quote Service будет определяться как объект производительности. Все сконфигурированные счетчики показаны в списке счетчиков:
После добавления счетчиков можно увидеть счетчики нашей службы в ходе времени. Используя эту утилиту производительности, можно также создать файлы журналов для последующего анализа производительности.
Служба счетчика производительности
Если не существует ссылки на объект счетчика производительности, и объект был удален сборщиком мусора, счетчик этого объекта теряется и запускается в следующий раз с 0. Чтобы решить эту проблему, состояние можно хранить в службе счетчиков производительности. С помощью .NET Framework служба счетчиков производительности устанавливается в системе. Необходимо только запустить службу; можно также сконфигурировать службу для автоматического запуска во время начальной загрузки системы.
Свойства служб Windows 2000
Windows 95, 98 и ME не поддерживают службы Windows. Они поддерживаются в Windows NT, Windows 2000 и Windows ХР. Windows 2000 имеет несколько больше свойств для служб по сравнению с Windows NT. Рассмотрим свойства служб в Windows 2000.
Изменения сетевого соединения и события электропитания
В Windows 2000 не требуется, чтобы система перезагружалась так часто, как это было необходимо в Windows NT; например, не нужно перезагружать систему, когда изменяется адрес IP, — служба получает события при смене адреса и действует соответственно. Windows 2000 посылает следующие управляющие коды службам, когда изменяется сетевое соединение:
Управляющий код | |
---|---|
SERVICE_CONTROL_NETBINDADD | Доступен новый компонент для соединения. |
SERVICE_CONTROL_NETBINDREMOVE | Компонент для соединения был удален. Необходимо заново считать информацию соединения и отсоединиться от удаленного компонента. |
SERVICE_CONTROL_NFTBINDENABLED | Ранее отключенное соединение снова включено. |
SERVICE_CONTROL_NETBINDDISABLE | Ранее включенное соединение теперь отключено. |