Sdílet prostřednictvím


TrackingProfile.ActivityTrackPoints Vlastnost

Definice

Získá kolekci bodů sledování aktivit používané infrastrukturou sledování modulu runtime k filtrování událostí stavu aktivity.

public:
 property System::Workflow::Runtime::Tracking::ActivityTrackPointCollection ^ ActivityTrackPoints { System::Workflow::Runtime::Tracking::ActivityTrackPointCollection ^ get(); };
public System.Workflow.Runtime.Tracking.ActivityTrackPointCollection ActivityTrackPoints { get; }
member this.ActivityTrackPoints : System.Workflow.Runtime.Tracking.ActivityTrackPointCollection
Public ReadOnly Property ActivityTrackPoints As ActivityTrackPointCollection

Hodnota vlastnosti

Určuje ActivityTrackPointCollection body v instanci pracovního postupu, pro které by infrastruktura sledování modulu runtime měla odeslat ActivityTrackingRecord do sledovací služby.

Příklady

Následující příklad kódu ukazuje, jak můžete vytvořit TrackingProfile pomocí konstruktoru TrackingProfile a použít vlastnosti objektu ke sledování provádění pracovního postupu. Ukázkový kód používá ActivityTrackPointsvlastnosti , Versiona WorkflowTrackPoints .

Tento příklad kódu je součástí ukázky dotazu pomocí sady SQLTrackingService SDK ze souboru Program.cs. Další informace najdete v tématu Dotazování pomocí služby SQLTrackingService.

private static void CreateAndInsertTrackingProfile()
{
    TrackingProfile profile = new TrackingProfile();
    ActivityTrackPoint activityTrack = new ActivityTrackPoint();
    ActivityTrackingLocation activityLocation = new ActivityTrackingLocation(typeof(Activity));
    activityLocation.MatchDerivedTypes = true;
    IEnumerable<ActivityExecutionStatus> statuses = Enum.GetValues(typeof(ActivityExecutionStatus)) as IEnumerable<ActivityExecutionStatus>;
    foreach (ActivityExecutionStatus status in statuses)
    {
        activityLocation.ExecutionStatusEvents.Add(status);
    }

    activityTrack.MatchingLocations.Add(activityLocation);
    profile.ActivityTrackPoints.Add(activityTrack);
    profile.Version = version;

    WorkflowTrackPoint workflowTrack = new WorkflowTrackPoint();
    WorkflowTrackingLocation workflowLocation = new WorkflowTrackingLocation();
    IEnumerable<TrackingWorkflowEvent> eventStatuses = Enum.GetValues(typeof(TrackingWorkflowEvent)) as IEnumerable<TrackingWorkflowEvent>;
    foreach (TrackingWorkflowEvent status in eventStatuses)
    {
        workflowLocation.Events.Add(status);
    }

    workflowTrack.MatchingLocation = workflowLocation;
    profile.WorkflowTrackPoints.Add(workflowTrack);

    TrackingProfileSerializer serializer = new TrackingProfileSerializer();
    StringWriter writer = new StringWriter(new StringBuilder(), CultureInfo.InvariantCulture);
    serializer.Serialize(writer, profile);
    string trackingprofile = writer.ToString();
    InsertTrackingProfile(trackingprofile);
}
Shared Sub CreateAndInsertTrackingProfile()
    Dim profile As TrackingProfile = New TrackingProfile()

    Dim activityTrack As ActivityTrackPoint = New ActivityTrackPoint()
    Dim activityLocation As ActivityTrackingLocation = New ActivityTrackingLocation(GetType(Activity))
    activityLocation.MatchDerivedTypes = True
    Dim statuses As IEnumerable(Of ActivityExecutionStatus) = CType(System.Enum.GetValues(GetType(ActivityExecutionStatus)), IEnumerable(Of ActivityExecutionStatus))
    For Each status As ActivityExecutionStatus In statuses
        activityLocation.ExecutionStatusEvents.Add(status)
    Next

    activityTrack.MatchingLocations.Add(activityLocation)
    profile.ActivityTrackPoints.Add(activityTrack)
    profile.Version = version

    Dim workflowTrack As WorkflowTrackPoint = New WorkflowTrackPoint()
    Dim workflowLocation As WorkflowTrackingLocation = New WorkflowTrackingLocation()
    Dim eventStatuses As IEnumerable(Of TrackingWorkflowEvent) = CType(System.Enum.GetValues(GetType(TrackingWorkflowEvent)), IEnumerable(Of TrackingWorkflowEvent))
    For Each status As TrackingWorkflowEvent In eventStatuses
        workflowLocation.Events.Add(status)
    Next

    workflowTrack.MatchingLocation = workflowLocation
    profile.WorkflowTrackPoints.Add(workflowTrack)

    Dim serializer As TrackingProfileSerializer = New TrackingProfileSerializer()
    Dim writer As StringWriter = New StringWriter(New StringBuilder(), CultureInfo.InvariantCulture)
    serializer.Serialize(writer, profile)
    Dim trackingProfile As String = writer.ToString()
    InsertTrackingProfile(trackingProfile)
End Sub

Poznámky

Instance pracovního postupu generuje události stavu aktivity do infrastruktury sledování modulu runtime při každé ActivityExecutionStatus změně instance aktivity. Infrastruktura sledování modulu runtime používá ActivityTrackPoints vlastnost k filtrování těchto událostí stavu aktivity k určení, kdy se má odeslat ActivityTrackingRecord do sledovací služby. Do vlastnosti můžete přidat objekt , ActivityTrackPointActivityTrackPoints který určuje body zájmu v potenciální cestě spuštění instance pracovního postupu, pro kterou má infrastruktura modulu runtime odesílat ActivityTrackingRecord.

Objekt ActivityTrackPoint ve skutečnosti nedefinuje fyzický bod v instanci pracovního postupu, ale místo toho definuje sadu parametrů shody, které mohou být použity infrastrukturou sledování modulu runtime ke spárování události stavu aktivity, pro kterou by měl odeslat ActivityTrackingRecord. Proto může být stejná ActivityTrackPoint shoda mnohokrát během životnosti instance pracovního postupu. Může ActivityTrackPoint také zadat data, která mají být extrahována z instance pracovního postupu a vrácena ActivityTrackingRecordv .

Platí pro

Viz také