Пригодность Workflow Foundation - дублирование хранимой информации - PullRequest
0 голосов
/ 25 августа 2009

Учитывая, что в Workflow Foundation в «Экземпляре Workflow» хранится информация о том, как далеко проходит рабочий процесс этого экземпляра, как люди рекомендуют создавать отчеты по этому вопросу?

Придуманный пример
Рассмотрим рабочий процесс для ремонта ПК. Имеет простые состояния: расследование, получение деталей, восстановление, возврат.

Теоретически я мог бы также иметь в своей базе данных таблицу под названием RepairJob, где каждая запись относится к заданию. Там будут внешние ключи для техников, скусов и т. Д.

Однако я могу запросить RepairJob s по их текущему состоянию:

select * from RepairJob where StatusId = @statusId

Но фактически это означает, что каким-то образом дублируется текущее «состояние» RepairJob как в экземпляре рабочего процесса, так и в базе данных. Это означает, что мои действия рабочего процесса должны быть активированы после активации обновления базы данных.

Является ли это приемлемым использованием для Workflow Foundation? Как другие люди используют его?

Большое спасибо заранее.

1 Ответ

0 голосов
/ 25 августа 2009

Да, вы можете сделать это с помощью рабочего процесса и таблицы состояния.

Простой способ сделать это - просто выполнить действие «Обновить таблицу состояния» как каждое второе действие в вашем рабочем процессе.

Если вы хотите сделать более элегантное решение, вы можете создать пользовательское действие, у которого есть свойство, к которому он относится, и автоматически обновить таблицу состояния. Но это, вероятно, больше работы, чем стоит.

...