Доступ к аргументам, переменным рабочего процесса из пользовательских действий - PullRequest
1 голос
/ 18 мая 2010

У меня есть рабочий процесс, состоящий из множества пользовательских действий. Все эти действия должны получить доступ к аргументам запуска самого рабочего процесса. Я могу определить InArgument во всех этих настраиваемых действиях и связать аргументы рабочего процесса с настраиваемыми аргументами действий, но мне не нравится это решение. Каков наилучший способ получить доступ к аргументу уровня рабочего процесса и объявлениям переменных из пользовательских действий. Могу ли я получить их из ActivityContext?

Спасибо.

1 Ответ

1 голос
/ 26 мая 2010

Одним из способов, с помощью которого мы рассмотрели наши пользовательские действия, является использование свойства Properties, доступного в ActivityContext. У нас есть действие с InArgument, которое добавляет ExecutionProperty в метод execute, так что в итоге вы получите:

public InArgument<Custom> MyObject {get;set;}

...

context.Properties.Add("Contact",MyObject.Get(context));

Затем в других ваших действиях вы можете проверить, установлено ли это

context.Properties.Find("Contact")

Очевидно, что если вы делаете это часто, я бы порекомендовал использовать где-то константу, а не магические строки, но это избавит вас от необходимости добавлять один и тот же аргумент снова и снова при проектировании.

...