TrackingProfile Klasa

Definicja

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)

Dotyczy

Zobacz też