Результат SqlWorkflowInstanceStore.WaitForEvents не говорит мне, какой тип рабочего процесса работает. Конструктор WorkflowApplication принимает определение рабочего процесса, и, как минимум, мне нужно иметь возможность сохранить идентификатор рабочего процесса в хранилище и запросить его, чтобы я мог определить, какое определение рабочего процесса загрузить для WorkflowApplication.
Я также не хочу создавать SqlWorkflowInstanceStore для каждого настраиваемого типа рабочего процесса, поскольку могут быть тысячи различных рабочих процессов.
Я думал о попытке использовать WorkflowServiceHost, но не у каждого рабочего процесса есть действие Receive, и я не думаю, что возможно иметь тысячи работающих WorkflowServiceHosts, каждый из которых поддерживает свой тип рабочего процесса.
В идеале я просто хочу запросить в базе данных работоспособный рабочий процесс, определить его идентификатор определения рабочего процесса, загрузить соответствующий XAML из таблицы определения рабочего процесса, создать экземпляр WorkflowApplication с определением рабочего процесса и вызвать LoadRunnableInstance ().
Я хотел бы иметь способ соотнести, какой рабочий процесс связан с данным HasRunnableWorkflowEvent, вызванным SqlWorkflowInstanceStore (вместе с идентификатором определения пользовательского рабочего процесса), или иметь альтернативный способ поддержки потенциально тысяч различных пользовательских типов рабочих процессов, созданных в во время выполнения. Я также должен сбалансировать нагрузку при выполнении рабочих процессов на нескольких серверах приложений.