Как прослушивать, загружать и запускать пользовательские рабочие процессы во время выполнения, которые были сохранены с помощью SqlWorkflowInstanceStore? - PullRequest
1 голос
/ 13 мая 2011

Результат SqlWorkflowInstanceStore.WaitForEvents не говорит мне, какой тип рабочего процесса работает. Конструктор WorkflowApplication принимает определение рабочего процесса, и, как минимум, мне нужно иметь возможность сохранить идентификатор рабочего процесса в хранилище и запросить его, чтобы я мог определить, какое определение рабочего процесса загрузить для WorkflowApplication.

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

Я думал о попытке использовать WorkflowServiceHost, но не у каждого рабочего процесса есть действие Receive, и я не думаю, что возможно иметь тысячи работающих WorkflowServiceHosts, каждый из которых поддерживает свой тип рабочего процесса.

В идеале я просто хочу запросить в базе данных работоспособный рабочий процесс, определить его идентификатор определения рабочего процесса, загрузить соответствующий XAML из таблицы определения рабочего процесса, создать экземпляр WorkflowApplication с определением рабочего процесса и вызвать LoadRunnableInstance ().

Я хотел бы иметь способ соотнести, какой рабочий процесс связан с данным HasRunnableWorkflowEvent, вызванным SqlWorkflowInstanceStore (вместе с идентификатором определения пользовательского рабочего процесса), или иметь альтернативный способ поддержки потенциально тысяч различных пользовательских типов рабочих процессов, созданных в во время выполнения. Я также должен сбалансировать нагрузку при выполнении рабочих процессов на нескольких серверах приложений.

1 Ответ

1 голос
/ 13 мая 2011

Есть бесплатный продукт от Microsoft, который делает почти все, что вы там говорите, а затем и некоторые другие. О, и это тоже отлично.

Windows Server AppFabric. Нет, не Лазурный. http://www.microsoft.com/windowsserver2008/en/us/app-main.aspx

-Oisin

...