【问题标题】:MS Workflow Foundation inheritance and while activityMS Workflow Foundation 继承和 while 活动
【发布时间】:2010-10-28 03:55:49
【问题描述】:

我有两个问题。 1. 为什么工作流类是“SEALED”类?继承工作流程是一种不好的做法吗? 2. while 活动缓慢。 IE。: 我按这个顺序在一个连续的 wf 上放置了 3 个活动...... 代码_活动1 while_activity code_activity2(在while活动中)


Code_activity1 - 将 int 计数器设置为 33320。 While_activity - 循环直到计数器 > 0。 Code_activity2 - 将计数器减 1(计数器--);

现在的问题是执行整个工作流程的时间太长(大约 20 分钟)!!!

如果我在代码上手动做同样的事情:,

int counter = 33320;
while(counter>0)
    counter--;

大约需要 1 毫秒。

为什么while活动这么慢?

谢谢

【问题讨论】:

    标签: inheritance workflow while-loop


    【解决方案1】:

    1) 即使生成的类是密封的

    public sealed partial class Workflow1: SequentialWorkflowActivity
    

    没有什么能真正阻止您删除sealed 关键字并从中继承。我猜你通常不想继承你设计和密封的工作流程,据说会给你一些性能优势

    2) http://msdn.microsoft.com/en-us/library/ms735819.aspx 稍微解释了 while 活动的工作原理。您添加提到的子活动创建 33320 次,所有在活动执行/初始化等时触发的事件以及工作流运行时需要处理的所有额外工作,您将获得 20 分钟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      相关资源
      最近更新 更多