2012-02-03 3 views
3

Я сейчас занимаюсь Workflow Foundation. У меня есть деятельность, которая содержит аргумент:Как получить ActivityContext, чтобы получить значение InArgument

System.Activities.InArgument<double> Temperature 

Однако, я хочу, чтобы получить значение этого аргумента в моей деятельности, чтобы сделать некоторые проверки с ним (а также установить свойство в моей деятельности на основе этого аргумента). Я понимаю, что есть метод Get, который принимает ActivityContext, поэтому фактическое значение будет известно во время выполнения. Мой вопрос: как я могу получить ActivityContext, или есть лучший способ?

Примечание: у меня есть приложение WorkflowDesigner в моем приложении, в котором я отбрасываю свои действия. Итак, Activity1 содержит свойство «Температура», и это передается в Activity2 как InArgument. Затем я проверяю Activity2, но до сих пор не могу получить ActivityContext. Мне это не нужно во время выполнения, но во время разработки.

Заранее спасибо.

+1

С какими видами деятельности вы работаете ?: В случае CodeActivity вы получаете CodeActivityContext в качестве параметра метода Execute. – ElDog

+0

Я написал свой собственный, который наследуется от System.Activities.Activity – Jeb

+1

Если вы собираетесь запускать свой собственный код внутри, то почему бы вам не унаследовать его от CodeActivity? Это решило бы проблему. – ElDog

ответ

2

Похоже, вы хотите использовать свойства зависимостей, как в WF3, для привязки вывода активности1 к вводу активности2 во время разработки. Это верно?

В перезаписываемой WF4 они вырвали все свойства свойства зависимостей, которые разрешили это.

Говоря конкретно о получении доступа к элементу ActivityContext во время разработки: я не считаю, что это будет возможно. Объект AC создается во время выполнения операции. Это то, что позволяет выполнять один экземпляр действия несколько раз (каждая итерация цикла имеет связанный с ним отдельный объект AC, поскольку объект AC создается во время выполнения).

Here - хорошая статья в блоге Microsoft, описывающая разницу между выполнением времени выполнения WF3 и WF4. Я думаю, это может помочь прояснить то, что вы хотите сделать и как подойти к проблеме.

Смежные вопросы