WF 4.0 WorkflowServiceHost и установки событий (Прервано, Завершено, Неактивно и т. Д.) - PullRequest
1 голос
/ 11 февраля 2011

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

Я создал свой рабочий поток servicevicehost и открыл, позже мое клиентское приложение вызовет его, и новый экземпляр рабочего процесса будет создан, завершен, бездействует и т. Д. В соответствии с кодом рабочего процесса внутри.

Но workflowservicehost только открыл, закрыл события, а не что-то связанное с экземпляром внутри. Когда я использовал класс приложения workflow для размещения, проблем не было, потому что приложение workflow завершило, прервало, неактивные свойства.

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

1 Ответ

3 голосов
/ 11 февраля 2011

Вы можете отслеживать отдельные рабочие процессы внутри WorkflowServiceHost, создав собственный TrackingParticipant.При необходимости вы можете добавить TrackingProfile, чтобы отфильтровать интересующие вас события и даже извлечь переменные из вашего рабочего процесса.

См. здесь для получения дополнительной информации, чтобы начать.

...