我对任意 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();
在几乎所有情况下,工作流都会因为创建书签而处于空闲状态。要使工作流继续,必须恢复书签。使用跟踪参与者,您可以在发生这种情况时收到书签恢复记录。为了接收这些,您需要配置一个跟踪配置文件并添加一个书签恢复查询。