【问题标题】:Windows Workflow 4.5 Dynamic update using XAML / DesignerWindows Workflow 4.5 使用 XAML / Designer 动态更新
【发布时间】:2015-06-14 19:11:39
【问题描述】:

我了解 Windows Workflow Foundation 4.5 支持并行和动态更新工作流定义。我在 Internet 上找到的示例很少,但都描述了用于更新工作流的基于代码的方法。我想制作一个实用程序,开发人员可以使用它来更新工作流程而无需编码。 (仅使用 Xaml 操作应该是我们理想的情况)

My Utility 做了以下事情,

  • 我从用户那里获取 Base Xaml(我想要更新的工作流定义)文件名和程序集 (V1)。
  • 我通过调用prepareForUpdate API 准备更新。并将其保存为 ForUpdate XAML。
  • 我从 Visual Studio 项目中删除了 Base Xaml。
  • 我在项目中加载了更新的 Xaml 文件(而不是基础 xaml),并修改了工作流。
  • 修改和重建后,我再次打开我的更新实用程序并从用户那里获取修改后的 Xaml (v2) 的输入并创建更新映射。
  • 之后我尝试更新正在运行的实例(使用更新映射),当时我的实用程序显示它们已成功更新。
  • 虽然它们已更新,但在运行时会产生不良影响(我遇到了 {ICompiledExpressionRoot for compiled location 'a'} 之类的异常,其中 {'a'} 是我的变量),与表达式解析、Root 等有关。

是否有人试图实现相同的目标或有一些想法。我的错误在 Visual Basic 和基于 Visual C# 的 XAML 中是一致的。

【问题讨论】:

    标签: c# .net workflow-foundation-4 workflow-activity


    【解决方案1】:

    虽然我们没有遇到您的具体情况,但我们已尝试使用动态更新服务来找到与您描述的非常相似的解决方案。

    尽管大部分声明性工作流完全在 Visual Studio 可视化编辑器中设计,但我们放弃了这个工具。在大多数情况下,它无法生成更新映射,有时甚至会引发解析异常。

    使用它真的不觉得它是一个完整的组件,而且它周围缺乏文档,即使在它发布后已经过去了这么长时间,这让我非常谨慎地考虑它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      相关资源
      最近更新 更多