Реализация рабочего сервиса в .NET - PullRequest
2 голосов
/ 21 апреля 2011

Мне нужно добавить «рабочий процесс» в мое текущее решение со следующими требованиями:

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

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

Какой вариант размещения вы бы выбрали?

  • Служба Windows
  • Служба WCF в IIS с Windows Server AppFabric (позволяет автозапуск)
  • Другой вариант?

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

У меня была почти та же проблема, я выбрал службу Windows, которая программно запускала службу WCF, чтобы она могла взаимодействовать с моим основным приложением, и она работает довольно хорошо.Я даже добавил дополнительную логику.Я мог спроектировать задачи своего работника и загрузить их с помощью MEF на своего работника, чтобы работник даже не знал, что выполняется, он просто запускает задачи с параметрами, получает информацию о состоянии и возвращает результаты выполнения.

1 голос
/ 21 апреля 2011

Это приложение wcf, размещенное в службе Windows для меня.Он предоставляет все необходимые вам функции, а также удаленное управление и мониторинг с помощью wmi.

...