Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
При отслеживании выполнения рабочего процесса часто полезно извлекать данные. Это обеспечивает дополнительный контекст при доступе к записи отслеживания после выполнения. В .NET Framework 4.6.1 можно извлечь любую видимую переменную или аргумент в области любого действия в рабочем процессе с помощью отслеживания. Профили отслеживания упрощают извлечение данных.
Переменные и аргументы
Переменные и аргументы извлекаются, когда действие выдает ActivityStateRecord. Переменная доступна для извлечения, только если она находится в пределах области действия. Переменная, извлекаемая в действии, указывается следующим образом:
Если переменная указана именем переменной, то отслеживание ищет переменную в текущей активности, отслеживаемой и в родительских действиях. Переменная ищется в текущей области и в родительской области.
Если извлекаемые переменные указываются с помощью name="*", извлекаются все переменные в отслеживаемом действии. В этом случае переменные, находящиеся в области видимости, но определенные в родительских активностях, не извлекаются.
При извлечении аргументов извлеченные аргументы зависят от состояния действия. Когда состояние действия "выполняется", доступны для извлечения только InArguments. Для любого другого состояния действия (Закрытый, Сбой, Отменено), все аргументы, как InArguments, так и OutArguments, доступны для извлечения.
В следующем примере показан запрос состояния действия, который извлекает переменные и аргументы, когда регистрационный документ действия Closed создается. Переменные и аргументы можно извлечь только с помощью ActivityStateRecord, и таким образом подписаться на них в профиле отслеживания с помощью ActivityStateQuery.
<activityStateQuery activityName="SendEmailActivity">
<states>
<state name="Closed"/>
</states>
<variables>
<variable name="FromAddress"/>
</variables>
<arguments>
<argument name="Result"/>
</arguments>
</activityStateQuery>
Защита информации, хранящейся в переменных и аргументах
Отслеживаемая переменная или аргумент по умолчанию отображается средой выполнения WF. Разработчик рабочего процесса может защитить его от доступа, выполнив следующие действия:
Шифрование значения переменной.
Управляйте создание профиля отслеживания, чтобы предотвратить извлечение переменной или аргумента.
Для участников пользовательского отслеживания убедитесь, что код WF не раскрывает конфиденциальную информацию, хранящуюся в переменных или аргументах.