Преимущества запуска приложения в качестве службы - PullRequest
12 голосов
/ 24 января 2011

Иногда я вижу, что некоторые приложения позволяют запускаться в Windows в качестве службы, например Apache HTTP Server позволяет это . Я всегда запускал его как обычное приложение и никогда не испытывал никаких проблем или ограничений.

  • Каковы преимущества этого?
  • Есть ли что-то, что приложениям разрешено делать или когда они запускаются как сервис?
  • Каковы преимущества для меня как для разработчика, когда я пишу сервис по сравнению с обычным приложением.

Ответы [ 3 ]

13 голосов
/ 24 января 2011

Самым большим преимуществом для запуска приложения в качестве службы является то, что оно будет продолжать работать даже после выхода из системы текущего пользователя (и начнет работать до того, как пользователь войдет в систему).Кроме того, службы обычно запускаются под локальной «системной» учетной записью, а не под учетной записью определенного пользователя (хотя службы могут и часто настраиваются для работы под определенным именем пользователя, обычно предназначенным для этой цели).

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

5 голосов
/ 24 января 2011

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

3 голосов
/ 24 января 2011

Службы работают, даже если ни один пользователь не вошел в систему. Приложения взаимодействуют с пользователями.

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

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