Workflow Foundation 4 — Отображение хода выполнения рабочего процесса

#c# #.net #workflow-foundation #workflow-foundation-4

#c# #.net #рабочий процесс-foundation #рабочий процесс-foundation-4

Вопрос:

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

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

Альтернативами было бы сохранение упорядоченного списка шагов и их статусов вместе с рабочим процессом или вне рабочего процесса.

В любом случае я не совсем понимаю, как это должно работать, и ценю предложения.

Ответ №1:

Службы Workflow-процессов были бы очень полезны для вас. Это своего рода точка конвергенции между wf и wcf, используемая для маршалирования вызовов служб WCF к экземплярам WF. Вы можете создать двусторонний канал и получать обновления через канал обратного вызова.

Комментарии:

1. Я использую workflow services, но я не уверен, что вы понимаете, о чем я спрашиваю. Ваши предложения звучат так, как будто у меня была бы возможность показывать обновления статуса в режиме реального времени, что на самом деле не является обязательным требованием. Мне просто нужно, чтобы пользователь просматривал интересующий его рабочий процесс и проверял, где он находится.

2. Понял … извините, у меня была похожая проблема, и я решил ее следующим способом. У меня был объект, обязанностью которого было сохранять состояние рабочего процесса. Этот объект был сохранен в базе данных и обновлен WF.

Ответ №2:

Вы можете использовать отслеживание рабочего процесса для регистрации выполнения действия и использовать WorkflowDesigner для отображения прогресса пользователю. Пример того, как это сделать, приведен в примерах WF4 от Microsoft, которые вы можете найти здесь.

Комментарии:

1. Я не могу использовать workflow designer. Клиент представляет собой приложение Silverlight.

2. Вы можете использовать WorkflowDesigner для создания изображения и отображения его в клиенте Silverlight. В противном случае вам придется создавать представление с нуля на основе информации отслеживания.

3. Вы знаете, где конкретно приведен этот пример?

4. Не уверен, есть ли хороший образец для этого, но вопрос поднимался несколько раз, и Тим Ловелл-Смит ответил, что я не ошибаюсь.