Windows Services Framework? - PullRequest
       1

Windows Services Framework?

9 голосов
/ 27 сентября 2010

Существуют ли какие-либо хорошие фреймворки или шаблоны для разработки служб Windows? Я обычно не пишу службы Windows и надеюсь, что кто-то поделился своим опытом через API или пример проекта.

Я работаю над проектом со следующими требованиями:

  • выполняет 1.. Много независимо запланированных задач
  • сообщает об успехе или неудаче этих задач по электронной почте / log / sms / ??
  • позволяет добавлять / удалять задачи
  • позволяет изменять расписание

UPDATE

marc_s ответ напомнил мне о этой 2005 статье Лютера Миллера для Visual Studio Magazine, которую я прочитал.

Ответы [ 5 ]

4 голосов
/ 29 марта 2014

Я знаю, что это старый вопрос, но случайный Гуглер сталкивался с этим, так как у меня есть:

Topshelf - это хорошая платформа Windows Services.

Создание служб Windows с использованием стандартного шаблона службы Windows в Visual Studio достаточно просто, вам не нужны специальные рамки.Однако в VS Express у вас может не быть шаблона winservice, и тогда Topshelf упрощает использование шаблона проекта Windows -> Консольное приложение.

Не существует единой платформы, которая обеспечивала бы все требования, перечисленные в оригинале.вопрос, но вот несколько предложений:

  • много независимо запланированных задач
  • позволяет добавлять / удалять задачи
  • позволяет изменять расписание

Вы, вероятно, в значительной степени здесь сами по себе, но этого достаточно легко сделать с помощью таймера (ов) и простой конфигурации в вашем App.config.Или, если вы хотите проявить фантазию, используя внедрение зависимостей или механизм плагинов, возможно, используя MEF.

  • сообщает об успехе или неудаче этих задач по электронной почте / log / sms /??

Посмотрите на log4net или NLog.Topshelf поддерживает оба варианта.

(Воспользовавшись Windows Workflow Foundation (WF), я совсем не убежден в ответах на этот вопрос, связанных с WF. Буду признателен, если кто-нибудь сможет предоставить ссылки науважаемые примеры приложений, которые показывают, как WF может удовлетворить любые из этих требований в первоначальном вопросе.)

2 голосов
/ 27 сентября 2010

С точки зрения программного обеспечения не нужно ничего, кроме библиотеки базовых классов .NET.

Я нашел эту статью из двух частей очень полезной и поучительной, особенно учитывая ваше требование "выполнить 1 ...много независимо запланированных задач .... ":

1 голос
/ 27 сентября 2010

Если вы ищете планировщик, то вы можете посмотреть на Quartz.net .Это система планирования заданий с открытым исходным кодом.Было бы проще использовать существующий инструмент, а не переписывать его с нуля (если только он не предназначен для академических целей).

1 голос
/ 27 сентября 2010

Я не даю обещаний, но это звучит как кандидат на использование Windows Workflow Foundation .

0 голосов
/ 27 сентября 2010

Фреймворк .Net! :-) WCF для общения и WF для реализации. В .Net 4 они объединяются как служба рабочего процесса WCF.

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