Share via


TrackingProfile.WorkflowTrackPoints Vlastnost

Definice

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

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

Hodnota vlastnosti

A WorkflowTrackPointCollection , který určuje body v instanci pracovního postupu, pro které by měla infrastruktura sledování modulu runtime odeslat WorkflowTrackingRecord 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 pracovního postupu do infrastruktury sledování modulu runtime pokaždé, když dojde k události TrackingWorkflowEvent , která označuje, že stav instance pracovního postupu se změnil. Infrastruktura sledování modulu runtime používá WorkflowTrackPoints vlastnost k filtrování těchto událostí stavu pracovního postupu k určení, kdy odeslat WorkflowTrackingRecord do sledovací služby. Můžete přidat WorkflowTrackPoint do WorkflowTrackPoints vlastnosti a určit body zájmu v potenciální cestě spuštění instance pracovního postupu, pro který chcete WorkflowTrackingRecord odeslat.

Objekt WorkflowTrackPoint ve skutečnosti nedefinuje fyzický bod v instanci pracovního postupu, ale místo toho definuje jednu nebo více TrackingWorkflowEvent hodnot, které mohou být použity infrastrukturou sledování modulu runtime ke shodě událostí stavu pracovního postupu. Proto může být stejná WorkflowTrackPoint shoda mnohokrát během životnosti instance pracovního postupu. A WorkflowTrackPoint může také zadat jakékoli poznámky, které mají být vráceny WorkflowTrackingRecordv .

Platí pro

Viz také