2009-02-27 18 views
2

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

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

Thanks, Ray.

ответ

2

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

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

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

3

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

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

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

+0

Спасибо за ваш ответ. Я запускаю приложение ASP.NET на сервере. Мне просто нужен фоновый процесс для сканирования таблицы. –

+0

Ya, я бы предложил SQL Server Job, если все, что вам нужно сделать, это запустить запрос по расписанию, это будет путь. – cbeuker

0

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

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