【发布时间】:2017-10-09 07:54:55
【问题描述】:
我们有一个 Web 应用程序,它必须在给定时间内执行数十或数百个工作流。经过数小时后,我们知道性能瓶颈是工作流的反序列化(我们将 xaml 保存在数据库中):
ActivityXamlServices.Load(xamlReader, activityXamlServicesSettings);
所以我们正在考虑缓存工作流(由 Load 方法返回的生成的 Activity 对象)。这似乎大大提高了性能。我能看到的唯一可能的问题是活动(来自工作流定义/树)将在工作流实例之间重用。因此,如果一个活动在一个实例中改变了状态,它可能会改变另一个正在运行的实例的行为。
注意:工作流变量似乎没有在工作流实例之间共享。
编辑:有人问过类似的问题:Workflow 4 runtime compiling。问题所有者似乎已经达到了“缓存DynamicActivity”(Load方法返回的活动)的相同解决方案。
【问题讨论】:
标签: .net workflow-foundation-4