TrackingProfile Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestroga
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Definiuje punkty orientacyjne w potencjalnej ścieżce wykonywania głównego wystąpienia przepływu pracy, o którym należy powiadomić usługę śledzenia.
public ref class TrackingProfile
[System.Serializable]
public class TrackingProfile
[System.Serializable]
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public class TrackingProfile
[<System.Serializable>]
type TrackingProfile = class
[<System.Serializable>]
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type TrackingProfile = class
Public Class TrackingProfile
- Dziedziczenie
-
TrackingProfile
- Atrybuty
Przykłady
Poniższy przykład kodu pokazuje, jak utworzyć TrackingProfile za pomocą TrackingProfile konstruktora i użyć właściwości obiektu, aby ułatwić śledzenie wykonywania przepływu pracy. Przykładowy kod używa ActivityTrackPointswłaściwości , Versioni WorkflowTrackPoints .
Ten przykład kodu jest częścią zapytania przy użyciu zestawu SQLTrackingService SDK z pliku Program.cs. Aby uzyskać więcej informacji, zobacz Query Using SQLTrackingService (Wykonywanie zapytań przy użyciu usługi 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
Uwagi
Uwaga
W tym materiale omówiono przestarzałe typy i przestrzenie nazw. Aby uzyskać więcej informacji, zobacz Przestarzałe typy w programie Windows Workflow Foundation 4.5.
W czasie wykonywania wystąpienie przepływu pracy emituje zdarzenia śledzenia do infrastruktury śledzenia środowiska uruchomieniowego. Infrastruktura śledzenia środowiska uruchomieniowego używa elementu do TrackingProfile filtrowania tych zdarzeń śledzenia i zwraca rekordy śledzenia na podstawie tego filtrowania do usługi śledzenia. Istnieją trzy rodzaje śledzenia zdarzeń, które można filtrować: zdarzenia stanu działania, zdarzenia stanu przepływu pracy i zdarzenia użytkownika. Obiekty można dodawać ActivityTrackPoint do ActivityTrackPoints właściwości w celu dopasowania określonych zdarzeń stanu działania; WorkflowTrackPoint obiektów do WorkflowTrackPoints właściwości w celu dopasowania do określonych zdarzeń stanu przepływu pracy oraz UserTrackPoint obiektów do właściwości w celu dopasowania do UserTrackPoints określonych zdarzeń użytkownika. Gdy punkt śledzenia jest zgodny, infrastruktura śledzenia środowiska uruchomieniowego zwraca dane skojarzone ze zdarzeniem śledzenia do usługi śledzenia powiązanej z tą usługą TrackingChannel . Dane są zwracane w elemecie ActivityTrackingRecord, a WorkflowTrackingRecordlub UserTrackingRecord w zależności od typu dopasowanego punktu śledzenia.
Usługa śledzenia implementuje metody w klasie abstrakcyjnej TrackingService , aby zapewnić funkcjonalność infrastruktury śledzenia środowiska uruchomieniowego w celu żądania TrackingChannel skojarzonego z usługą oraz TrackingProfile skojarzonego z konkretnym wystąpieniem przepływu pracy lub określonym typem przepływu pracy. Usługa śledzenia musi również zaimplementować klasę abstrakcyjną TrackingChannel , aby zapewnić kanał, w którym infrastruktura śledzenia środowiska uruchomieniowego może wysyłać rekordy śledzenia.
Gdy usługa śledzenia zwraca obiekt profilu śledzenia do środowiska uruchomieniowego, przepływ pracy zaczyna być wykonywany, a profil śledzenia jest serializowany. Jeśli serializacja profilu śledzenia zakończy się niepowodzeniem, zostanie zgłoszony wyjątek do wystąpienia przepływu pracy. Jeśli wyjątek nie jest obsługiwany, wystąpienie przepływu pracy zostanie zakończone. Profil śledzenia można zweryfikować przed przekazaniem go do środowiska uruchomieniowego przy użyciu Schema właściwości .
Element TrackingProfile może być serializowany do formatu XML przy użyciu elementu TrackingProfileSerializer, który formatuje kod XML zgodnie z parametrem Schema. Zapewnia to wygodny format magazynu profilów i tworzenia profilu w sposób nieprogramowy. Na przykład usługa SQL Tracking Service przechowuje serializowane wersje swoich profilów śledzenia, podobnie jak każda usługa śledzenia utworzona na SqlTrackingService podstawie klasy.
Konstruktory
TrackingProfile() |
Przestarzałe.
Inicjuje nowe wystąpienie klasy TrackingProfile. |
Właściwości
ActivityTrackPoints |
Przestarzałe.
Pobiera kolekcję punktów śledzenia aktywności używanych przez infrastrukturę śledzenia środowiska uruchomieniowego w celu filtrowania zdarzeń stanu działania. |
UserTrackPoints |
Przestarzałe.
Pobiera kolekcję punktów śledzenia użytkownika używanych przez infrastrukturę śledzenia środowiska uruchomieniowego w celu filtrowania zdarzeń użytkownika. |
Version |
Przestarzałe.
Pobiera lub ustawia wersję profilu śledzenia. |
WorkflowTrackPoints |
Przestarzałe.
Pobiera kolekcję punktów śledzenia przepływu pracy używanych przez infrastrukturę śledzenia środowiska uruchomieniowego w celu filtrowania zdarzeń stanu przepływu pracy. |
Metody
Equals(Object) |
Przestarzałe.
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Przestarzałe.
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Przestarzałe.
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Przestarzałe.
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Przestarzałe.
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |