2010-05-21 6 views
5

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

+3

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

ответ

6

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

  • Вам не нужно иметь сеанс работает. Это хорошо для безопасности, а также снижает накладные расходы на сервере.
  • Вы получаете некоторые из команд Managment, построенных в бесплатно
    • Start
    • Стоп
    • Пауза
    • Продолжить
  • Вы можете обрабатывать события сервера, такие как выключение.
1

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

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

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

7

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

  1. Ждите входящих запросов. (Как через Remoting или ФОС)
  2. Мониторинг очереди, файловой системы и т.д.

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

6

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

1

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

1

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

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

1

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

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

Смежные вопросы