Общие вопросы службы Windows - PullRequest
       0

Общие вопросы службы Windows

4 голосов
/ 31 августа 2011

Сегодня я создал свой первый Windows-сервис на C #.

У меня есть несколько проблем, которые я буду рад и благодарен, если вы мне поможете.

1) Когда я устанавливаю свой сервис, он работает и все, но он не будет отображаться в диспетчере задач Windows. кто-нибудь знает почему?

2) Если я пытаюсь поставить системный трей, я не могу это сделать - потому что я не могу поставить значок. в оконном сервисе нет System.Drawing .. что я могу с этим поделать?

3)

* * 1010

Что делает "OnContinue" ?

Я не смог этого понять.

Ответы [ 2 ]

4 голосов
/ 31 августа 2011

Служба не отображается в диспетчере задач Windows

Я предполагаю, что вы работаете в Vista / Windows 7 и ваша служба не работает в качестве вашей учетной записи.Из-за этого вам нужно сказать «показывать процессы всех пользователей» на вкладке «Процессы» диспетчера задач, и вы должны увидеть свою службу (вероятно, работающую под одной из учетных записей Windows по умолчанию ).

Вы не увидите свою службу на вкладке «Приложения», службы появляются , а не .

Значок в трее для службы Windows

Начиная с Windows Vista, службе запрещено взаимодействовать с рабочим столом;даже если вы все еще можете сделать это, с каким из них вы взаимодействуете (может быть несколько пользователей вошли в систему на компьютере с несколькими рабочими столами, например, Terminal Server / несколько сеансов удаленного рабочего стола)?

Способ, которым вы показываетеЗначок службы предназначен для создания программы, которая взаимодействует с вашей службой (используя что-то вроде WCF или Remoting), которая отвечает за отображение значка в области уведомлений.

Помните, что ваша служба, скорее всего, этого не делает нужен значок в трее, вместо этого создайте плагин для консоли управления Microsoft и обменивайтесь данными со службой через WCF / Remoting.

OnContinue

Из документации для метода OnContinue :

При реализации в производном классе OnContinue запускается, когда команда Continue отправляет в службу командуДиспетчер управления службами (SCM).Определяет действия, которые необходимо предпринять, когда служба возобновляет нормальное функционирование после приостановки.

Как правило, если ваша служба может быть приостановлена ​​(не остановлена), то она вызывается при возобновлении службы.

1 голос
/ 31 августа 2011

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

3) Метод OnContinue() в службе Windows определяет действия, которые будут выполняться, когда служба возвращается в состояние «Запущено» из состояния «Приостановлено».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...