Разница между переменными и аргументами в Windows Workflow Foundation

Я новичок в Windows Workflow Foundation, поэтому этот вопрос может показаться немного простым.

В чем основное различие между аргументом и переменными в рабочем процессе? И какой из них следует использовать в какой ситуации.

Например, если мне нужно сохранить некоторый объект, который может использоваться всеми действиями в рабочем процессе, а также действия должны иметь возможность изменять объект. Какой из них я должен использовать - переменную или аргумент?


person Pratik Bhattacharya    schedule 08.11.2016    source источник


Ответы (1)


Аргументы являются вводом и выводом действий (весь рабочий процесс также считается действием в WWF).

Таким образом, любые данные, помещаемые в рабочий процесс, поступают через аргумент, названный в рабочем процессе как InArgument. (каждый раз, когда я пишу InArgumentt, я также могу использовать InOutArgument)

Любые данные, помещаемые в действие, поступают через аргумент, названный в действии как InAargument.

Вывод такой же, за исключением того, что аргумент должен быть помечен как Out (или In/Out).

Значения в аргументах доступны внутри рабочего процесса или действия, которые задают аргумент, как в InArgument.

Переменные существуют только внутри контейнера, в котором они названы. Таким образом, переменные в рабочем процессе создаются в рабочем процессе и не передаются.

Вы можете назначить переменную уровня рабочего процесса для InArgument действия, назначив переменную InArgument на панели свойств для действия.

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

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

Вы можете вывести действие из действия в аргумент или переменную, добавив этот аргумент или переменную в качестве параметра к OutArgument на панели свойств действия.

person Richard210363    schedule 08.11.2016