Sdílet prostřednictvím


TrackingProfile Třída

Definice

Upozornění

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Definuje body zájmu v potenciální cestě spuštění instance kořenového pracovního postupu, o kterých by měla být upozorněna sledovací služba.

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
Dědičnost
TrackingProfile
Atributy

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

Poznámka

V tomto materiálu jsou popsané zastaralé typy a obory názvů. Další informace naleznete v tématu Zastaralé typy ve Windows Workflow Foundation 4.5.

Během běhu instance pracovního postupu vysílá události sledování do infrastruktury sledování modulu runtime. Infrastruktura sledování modulu runtime používá TrackingProfile k filtrování těchto událostí sledování a vrací záznamy sledování na základě tohoto filtrování do sledovací služby. Existují tři druhy sledování událostí, které lze filtrovat: události stavu aktivity, události stavu pracovního postupu a události uživatele. Do vlastnosti můžete přidat ActivityTrackPoint objekty tak, aby odpovídaly ActivityTrackPoints událostem konkrétního stavu aktivity, WorkflowTrackPoint objekty do WorkflowTrackPoints vlastnosti, aby odpovídaly událostem konkrétního stavu pracovního postupu, a UserTrackPoint objekty do UserTrackPoints vlastnosti tak, aby odpovídaly událostem konkrétního uživatele. Když je bod sledování trasy spárován, infrastruktura sledování modulu runtime vrátí data přidružená ke sledovací události sledovací službě přes přidružená TrackingChannel k této službě. Data se vrátí v ActivityTrackingRecordWorkflowTrackingRecordUserTrackingRecord závislosti na typu spojovacího bodu stopy, nebo v závislosti na typu spojovacího bodu.

Sledovací služba implementuje metody v abstraktní TrackingService třídě k poskytování funkcí pro infrastrukturu sledování modulu runtime pro vyžádání TrackingChannel přidruženého ke službě, a TrackingProfile přidruženého ke konkrétní instanci pracovního postupu nebo k určitému typu pracovního postupu. Sledovací služba musí také implementovat abstraktní TrackingChannel třídu, která poskytuje kanál, přes který může infrastruktura sledování modulu runtime odesílat záznamy sledování.

Když sledovací služba vrátí objekt profilu sledování modulu runtime, pracovní postup se spustí a profil sledování je serializován. Pokud serializace sledování profil selže, je vyvolána výjimka pro instanci pracovního postupu. Pokud není výjimka zpracována, instance pracovního postupu je ukončena. Profil sledování je možné ověřit před jeho předáním do modulu runtime pomocí Schema vlastnosti .

A TrackingProfile lze serializovat do XML pomocí TrackingProfileSerializer, který formátuje XML podle Schema. To poskytuje pohodlný formát pro ukládání profilů a pro vytváření profilu neprogramovým způsobem. Například sledovací služba SQL ukládá serializované verze svých sledovacích profilů, stejně jako každá sledovací služba, kterou vytvoříte na SqlTrackingService základě třídy .

Konstruktory

TrackingProfile()
Zastaralé.

Inicializuje novou instanci .TrackingProfile

Vlastnosti

ActivityTrackPoints
Zastaralé.

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

UserTrackPoints
Zastaralé.

Získá kolekci bodů sledování uživatele používaných infrastrukturou sledování modulu runtime k filtrování událostí uživatele.

Version
Zastaralé.

Získá nebo nastaví verzi profilu sledování.

WorkflowTrackPoints
Zastaralé.

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.

Metody

Equals(Object)
Zastaralé.

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()
Zastaralé.

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()
Zastaralé.

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()
Zastaralé.

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()
Zastaralé.

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také