Хостинг Workflow-Foundation в службах Windows - PullRequest
0 голосов
/ 22 февраля 2011

Я нахожусь в процессе реализации службы Windows, на которой размещается «Последовательный рабочий процесс» (Windows Workflow-Foundation). Последовательный рабочий процесс довольно прост и, в основном, вложен в какое-то время, которое никогда не заканчивается.
Основной целью является планирование заданий на определенный период времени.
Поскольку проект совместно использует часть инфраструктуры с приложением ASP.NET MVC, я хотел бы повторно использовать то, что я создал до сих пор. Я разделил проект Windows-сервиса на две части: сам сервис и проект рабочего процесса.
Служба представляет собой «тупой» контейнер с единственной ссылкой на рабочий процесс; его главная цель - запустить его:

workflowEngine = new WorkflowRuntime();
WorkflowInstance instance = workflowEngine.CreateWorkflow(typeof(BpReminders.WorkFlow.Scheduler), parameters);
instance.Start();

Проект Workflow-Foundation ссылается на все остальные проекты, которые мне нужно использовать, и отвечает за внедрение зависимостей (StructureMap).

Я создал прототип сейчас, и все, кажется, работает. Теперь моя дилемма заключается в том, должен ли Windows-сервис отвечать за разрешение зависимостей и внедрять их в рабочий процесс, или мой подход достаточно хорош, учитывая, что однажды я мог бы принять решение изменить хост рабочего процесса? Возможно ли в конечном итоге использовать StructureMap для внедрения зависимостей в проект рабочего процесса?

1 Ответ

0 голосов
/ 22 февраля 2011

Так как вам все равно придется использовать инъекцию свойств для внедрения в рабочий процесс, я бы предпочел вызывать контейнер внутри рабочего процесса для создания объектов по мере необходимости. Если вы хотите сделать инъекцию свойства, взгляните на это: http://codebetter.com/jeremymiller/2008/10/09/setter-injection-in-structuremap-2-5/.

...