Почему мой пользовательский сервис Windows не выполняет свою работу? - PullRequest
0 голосов
/ 29 апреля 2011

Я создал службу, которая будет отображать сообщение «Hello World» при запуске. Метод OnStart службы состоит из следующего кода:

protected override void OnStart(string[] args)
{
    System.Windows.Forms.MessageBox.Show("Hello World");
}

Служба установлена ​​отлично, но когда яЗапустив службу, я получаю следующую ошибку:

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

Error Message

Поэтому сообщение Hello World не отображается.Почему это происходит?

Ответы [ 2 ]

4 голосов
/ 29 апреля 2011

Не пытайтесь использовать элементы интерфейса (Windows Forms) из службы. У службы не должно быть компонента пользовательского интерфейса. Если для настройки и т. Д. Необходим пользовательский интерфейс, попросите службу извлечь свои настройки из базы данных и создать отдельное приложение для управления конфигурацией.

1 голос
/ 29 апреля 2011

Храните службы и пользовательский интерфейс отдельно. Плохая практика - использовать и использовать Windows Froms внутри службы. Если вам нужно объединить их, вы можете попробовать использовать сокеты или другой механизм IPC.

...