Windows Workflow Foundation每隔X分钟重复一次活动

时间:2013-02-05 09:11:29

标签: c# workflow workflow-foundation-4 workflow-foundation

在满足特定条件之前,每2分钟重复一次代码活动的最佳方法是什么?

假设我有以下代码活动来检查数据库,以查看是否已完成一批报告。

public sealed class CheckReportsAreComplete : CodeActivity
{        
    public InArgument<int> ReportBatchId{ get; set; }       
    public OutArgument<bool> HaveReportsCompleted{ get; set; }

    protected override void Execute(CodeActivityContext context)
    {             
        bool haveCompleted = ReportService.HaveReportsCompleted((context.GetValue(this.ReportBatchId));

        HaveReportsCompleted.Set(context, haveCompleted);                       
    }
}

我需要此代码活动每2分钟运行一次,并在OutArgument HaveReportsCompleted设置为true时继续处理。我应该在代码中使用Timer.Sleep还是那种不好的做法?

我认为我需要在延迟和条件的同时进行一段时间/做的组合吗?

1 个答案:

答案 0 :(得分:3)

这是我提出的解决方案:

enter image description here