Служба Windows против Windows Workflow Foundation?

Мне нужно что-то, что работает в фоновом режиме, входит в мою базу данных, просматривает и обновляет определенные строки на основе определенной логики. Мне нужно, чтобы это работало каждый час, и моя среда - Windows Server 2003, SqlServer 2005.

Подходит ли для этого WWF? Или мне следует создать службу Windows? И какая разница между WWF и Windows Service, или просто как лучше всего это сделать?

Спасибо, Рэй.

Ответов (3)

Решение

На вашем месте я бы использовал службу Windows. Я проделал много работы в WF, и основная причина, по которой я бы сказал, чтобы не делать этого в WF, заключается в том, что MS в основном полностью переписывает следующую версию WF в соответствии с тем, что MS сказала на PDC в октябре. Будет способ для выполнения устаревших действий 3.0 / 3.5 в 4.0, но у меня сложилось впечатление, что в них будут серьезные изменения.

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

Также я согласен с тем, что, исходя из того, что вы говорите, вам следует подумать о создании пакета SSIS в SQL Server, если у вас нет прямого доступа к базе данных.

Я бы сказал, используйте службу Windows, а не рабочий процесс. Рабочий процесс используется тогда, когда есть процесс. Поскольку вы просто обновляете записи в таблице, я бы сказал, что услуга ничуть не хуже.

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

Служба Windows - это длительный процесс, который выполняется в фоновом режиме в Windows. Рабочий процесс Windows Workflow Foundation используется для создания рабочего процесса для бизнес-процесса (или чего-то еще). Вам необходимо разместить среду выполнения рабочего процесса в чем-то (консольном приложении, ASP.Net, службе Windows и т. Д.)

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