如何使InArgument的值在设计时依赖于另一个InArgument的值

时间:2011-07-26 09:17:22

标签: workflow workflow-foundation-4 workflow-activity

我要求允许用户从有效值列表(例如组合框)中指定InArgument / property的值。有效值列表由另一个InArgument的值确定(其值将由表达式设置)。

例如,在设计时:

  • 用户在工作流变量FilePath
  • 中输入文件路径
  • DependedUpon InArgument设置为FilePath
  • 的值
  • 查询文件并向用户显示有效值列表以选择适当的值(可能通过自定义PropertyValueEditor)。

这可能吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

考虑到这是在设计时正在做,我强烈建议您为所有这种逻辑的设计师的,而不是活动本身。

之内

设计时逻辑不应包含在您的活动中。您的活动应该能够独立于任何设计师运行。以这种方式考虑......

您坐下来使用活动及其设计师设计工作流程。完成后,将工作流安装/ xcopy到其他地方的服务器。当服务器负载活动之前执行它, 当您的设计逻辑CacheMetadata执行时会发生什么?无论它是使用启发式,以确定你不是在运行跳过设计时,包含额外的逻辑,以便在无法找到该文件时跳过此代码。无论哪种方式,为什么服务器执行这个设计时代码?答案是它不应该执行它;该代码属于设计师。

这就是为什么,如果你看一下框架,你会发现活动及其设计者存在于不同的程序集中。你的代码应该以同样的方式 - 以设计为中心的代码应该在单独的组件从您提供的活动,这样你就可以既设计师只有活动组件交付,和你的应用服务器