Когда мы используем службу Windows? - PullRequest
5 голосов
/ 21 мая 2010

В каких ситуациях мы должны использовать службу Windows?
Я создаю клиент-серверный проект (c #) и сервер должен работать в одиночку без какого-либо пользователя, поэтому кто-то посоветовал мне использовать службу Windows для запуска сервера, это правильно? или есть лучшие решения?

Ответы [ 7 ]

7 голосов
/ 21 мая 2010

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

  1. Ждать входящих запросов. (Как через удаленное взаимодействие или wcf)
  2. Контроль очереди, файловой системы и т. Д.

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

6 голосов
/ 21 мая 2010

В вашей ситуации я бы воспользовался услугой по следующим причинам:

  • Вам не нужно запускать сеанс. Это хорошо для безопасности, а также снижает нагрузку на сервер.
  • Вы получаете некоторые встроенные команды управления бесплатно
    • Начало
    • Стоп
    • Пауза
    • Продолжить
  • Вы можете обрабатывать такие события на сервере, как завершение работы.
6 голосов
/ 21 мая 2010

Служба Windows может запускаться сразу после включения компьютера, что идеально подходит для работы в качестве сервера, например, http-сервера. Для входа никто не требуется.

1 голос
/ 21 мая 2010

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

Если, однако, вы хотите разместить веб-службы (WCF), в то время как служба является опцией, вы можете рассмотреть возможность размещения в IIS, это освобождает вас от написания реального кода хостинга и т. Д.

1 голос
/ 21 мая 2010

Службы Windows - это то, что нужно для чего-то, что должно работать постоянно, независимо от того, вошел ли пользователь в систему.

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

1 голос
/ 21 мая 2010

Что ж, служба Windows предоставляет полную платформу для работы вашего приложения и его активности, пока вы этого хотите, поэтому я думаю, что все в порядке.

1 голос
/ 21 мая 2010

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

Например, служба Windows будет работать, даже если никто не вошел в систему.

Любой сервер, который принимает соединения (например, почтовый, веб-или FTP-сервер), обычно должен быть службой Windows.

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