0

如何使用跟踪配置文件 ActivityStateQuery 中的活动类型跟踪 ActivityStateRecord。
我可以使用显示名称跟踪活动,但活动类型没有任何属性。

4

1 回答 1

0

您不能使用跟踪配置文件通过 ActivityStateQuery 过滤活动类型。

ActivityStateQuery 过滤 ActivityName、Arguments、QueryAnnotations、States 和 Variables。

您可以在代码中过滤。例如,使用 TrackingParticipant 订阅 ActivityStateRecord,然后过滤结果。例如

class WorkflowTracking : TrackingParticipant
{
    protected override void Track(TrackingRecord record, TimeSpan timeout)
    {
       ActivityStateRecord activityStateRecord = record as ActivityStateRecord;

       if (activityStateRecord != null)
       {
          while(activityStateRecord.Activity.TypeName == "Main.Workflows.Components.DummyItem")
          {
             using (StreamWriter writer = File.AppendText(@"c:\temp\tracking.txt"))
             {
                 writer.WriteLine(activityStateRecord.ToString());
                 writer.WriteLine();
                 writer.Close();
             }
          }
       }
   }
}
于 2013-06-06T09:27:49.257 回答