Вы можете определить TrackingParticipant
в качестве добавочного номера для добавления WorkflowApplication
.
пользовательского отслеживание Участник
using System.Activities.Tracking;
public class MyTrackingParticipant : TrackingParticipant
{
protected override void Track(TrackingRecord record, TimeSpan timeout)
{
if (record is WorkflowInstanceRecord)
{
var wfInstanceRecord = record as WorkflowInstanceRecord;
Console.WriteLine($"My workflow's current state: {wfInstanceRecord.State}");
}
if (record is ActivityStateRecord)
{
var activityStateRecord = record as ActivityStateRecord;
Console.WriteLine($"Activity: {activityStateRecord.Activity.Name} State: {activityStateRecord.State} Timestamp: {activityStateRecord.EventTime}");
}
}
}
Регистрация Участник пользовательского отслеживание
var wfApp = new WorkflowApplication(myActivity);
wfApp.Extensions.Add(new MyTrackingParticipant());
wfApp.Run();