Как я могу отслеживать настраиваемые свойства активности Windows Workflow Foundation?

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

Мы пишем множество рабочих процессов для системы управления документами (DMS), используя собственный механизм рабочего процесса, основанный на MS WF. Поэтому я не могу изменить время выполнения рабочего процесса (если это было необходимо). Решение должно работать со встроенными функциями базовой среды выполнения рабочего процесса Microsoft.

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


person Gerhard Wessels    schedule 07.09.2009    source источник


Ответы (1)


Исходя из моих (правда, ограниченных) знаний о рабочем процессе MS, правильный подход - публиковать обновления для вашей службы отслеживания из рабочего процесса, т. Е. Если ваш рабочий процесс выполняет какой-то шаг, он должен перейти в службу отслеживания и сказать: «Я сделал X» ". Ваша служба отслеживания может записывать эту информацию, чтобы отвечать на любые последующие запросы о том, что делал рабочий процесс (и какие значения различных свойств были в то время).

Существенным моментом является то, что механизм WF полезен для выполнения рабочих процессов, но не очень хорош для составления отчетов о ходе выполнения этих рабочих процессов.

Если у вас есть некоторый контроль над движком WF (вы говорите, что он «основан на MS WF»), то один из вариантов может заключаться в том, чтобы ваш WF Engine публиковал такие обновления для всех рабочих процессов. Это может позволить вам отказаться от явных обновлений в рамках ваших фактических определений рабочего процесса. Однако, если вы действительно не можете внести какие-либо изменения в движок, это не сработает.

person Nader Shirazie    schedule 31.10.2009
comment
Спасибо за ваш ответ. В рамках ограничений хоста движка рабочего процесса наши действия должны выполняться, я полагаю, что отчеты о состоянии свойств действий должны выполняться нами, хотя и менее идеальными. - person Gerhard Wessels; 02.11.2009
comment
Я помню что-то подобное в подкасте, который я услышал Брайаном Нойесом на deepfriedbytes (deepfriedbytes.com). Он состоит из двух частей. Конкретный комментарий, о котором я думаю, касается 27 минут первой части ... - person Nader Shirazie; 02.11.2009