Есть ли у WF4 возможность поиска экземпляров? - PullRequest
3 голосов
/ 08 апреля 2010

У меня есть служба рабочего процесса WF4, развернутая в AppFabric. Есть ли какой-либо встроенный способ сделать общий поиск по всем активным в данный момент экземплярам рабочего процесса?

Например, «получить мне список всех активных экземпляров с переменной x = 5»?

Если бы кто-то мог указать мне правильное направление, это было бы очень ценно.

1 Ответ

5 голосов
/ 09 апреля 2010

Вы можете сделать это, используя созданную базу данных WorklfowInstanceStore. Это будет иметь запись для каждого рабочего процесса, который работает. Затем вы можете настроить продвижение свойств, чтобы извлекать значения из рабочего процесса и сохранять их в базе данных. Представление System.Activities.DurableInstancing.InstancePromotedProperties позволит вам запрашивать значения и предоставлять InstanceId рабочего процесса.

См. здесь для примера того, как начать. Хороший способ извлечения значений без использования настраиваемого действия - использование участника отслеживания рабочего процесса.

...