使用Activity类型跟踪ActivityStateRecord

时间:2013-03-20 05:44:10

标签: workflow-foundation-4 workflow-foundation

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

1 个答案:

答案 0 :(得分: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();
             }
          }
       }
   }
}