Я нахожусь в процессе реализации службы 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 для внедрения зависимостей в проект рабочего процесса?