2010-06-23 3 views
3

Я занимаюсь разработкой службы Windows, которая будет работать в определенное время каждый день. Что произойдет, если на эту машину войдут несколько пользователей? Будет ли он работать 5 раз в то же время, если в него войдут 5 пользователей? Если это так, есть ли способ предотвратить это?Службы Windows и несколько зарегистрированных пользователей

ответ

6

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

Услуга будет работать только один раз без учета входа в систему. Фактически, он будет работать, если компьютер включен, даже если пользователь не вошел в систему.

+0

Он будет работать, если он настроен на запуск при запуске ... – Oded

+0

@Oded Хорошая точка - это соответствует «Автоматическому» запуску (в отличие от «Ручной» или «Отключено»). – Jay

+0

Руководство также применяется, если в нем есть функция «Автоматическая», которая зависит от нее. – Oded

1

Службы Windows запускаются один раз на машину.

Учетная запись, по которой выполняется служба, может быть указана в консоли MMC Windows Services. Как правило, служба будет работать под учетной записью «Локальная система».

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

1

Как и другие, нет, он будет работать только один раз.

Это действительно повышает некоторые флаги. Зачем вы пишете Windows Service для этого? Похоже, что перегрузка для процесса, который нужно запустить только один раз. Услуги обычно используются для элементов, которые постоянно должны выполнять задачу, контролировать что-либо или получать события. Я не знаю конкретных целей, но, возможно, запланированная задача может быть лучше. Недостатком является то, что запланированная задача будет выполняться только при входе пользователя в систему, и они могут быть конкретными для пользователя.

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

+1

Я не согласен, что службы предназначены для постоянных задач. Множество служб просто запускают таймер на часы, дни или даже недели, а затем выполняют свою работу. Рассмотрим множество «обновлений программного обеспечения», которые иногда появляются. – Jay

+0

хороший пункт Jay. –

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