WF 4.0:当WorkflowApplication停止空闲时跟踪通知?

时间:2012-08-14 20:02:20

标签: workflow-foundation-4 workflow-foundation

我感兴趣的是计算任意WorkflowApplication实例的时间,看看他们花了多长时间“忙”和闲置多久。

但是,似乎跟踪通知仅在实例变为空闲时生成,而不是在重新激活时生成。

是否有一种简单的方法可以获得此类通知?

更新:

        WorkflowApplication wa = new WorkflowApplication(activity);

        var tracker = new ConsoleTrackingParticipant()
        {
            TrackingProfile = new TrackingProfile
            {
                Name = "SampleTrackingProfile",
                ImplementationVisibility = ImplementationVisibility.All                    
            }
        };


        var query = new WorkflowInstanceQuery();
        query.States.Add("*");
        tracker.TrackingProfile.Queries.Add(query);

        var brq = new BookmarkResumptionQuery()
        {
            Name = "*"
        };

        tracker.TrackingProfile.Queries.Add(brq);

        wa.Extensions.Add(tracker);

        wa.Run();

1 个答案:

答案 0 :(得分:2)

几乎在所有情况下,由于正在创建书签,工作流程处于空闲状态。并且为了继续工作流程,必须恢复书签。使用TrackingParticipant,当发生这种情况时,您可以收到BookmarkResumptionRecord。要接收这些内容,您需要配置TrackingProfile并添加BookmarkResumptionQuery