TrackingProfile.WorkflowTrackPoints Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá kolekci bodů sledování pracovního postupu používaných 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 infrastruktura sledování modulu runtime měla 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 vždy, 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 se má 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 kterou chcete WorkflowTrackingRecord odeslat.
Objekt ve WorkflowTrackPoint skutečnosti nedefinuje fyzický bod v instanci pracovního postupu, ale místo toho definuje jednu nebo více TrackingWorkflowEvent hodnot, které může infrastruktura sledování modulu runtime použít 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é se mají vrátit v objektu WorkflowTrackingRecord.