Udostępnij za pośrednictwem


TrackingProfileSerializer Klasa

Definicja

Przestroga

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

Udostępnia metody serializacji i deserializacji profilów śledzenia do i z dokumentów XML przy użyciu definicji schematu XML profilu śledzenia (XSD).

public ref class TrackingProfileSerializer
public class TrackingProfileSerializer
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class TrackingProfileSerializer
type TrackingProfileSerializer = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type TrackingProfileSerializer = class
Public Class TrackingProfileSerializer
Dziedziczenie
TrackingProfileSerializer
Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć TrackingProfileSerializer przy użyciu konstruktora TrackingProfileSerializer , aby serializować element TrackingProfile. Kod używa Serialize również metody .

Ten przykładowy kod jest częścią zapytania korzystającego z przykładu 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.

Używa TrackingProfileSerializer profilu śledzenia XSD zawartego w , TrackingProfileSerializer.Schema aby serializować TrackingProfile obiekty w prawidłowych dokumentach XML i deserializować prawidłowe dokumenty XML do TrackingProfile obiektów. Funkcja TrackingProfileSerializer wykonuje walidację zarówno podczas serializacji, jak i deserializacji, a w razie potrzeby zgłasza odpowiedni wyjątek.

Dokument XML zapewnia wygodny format, w którym można przechowywać profil śledzenia. Zapewnia również nieprogramowy sposób tworzenia profilów śledzenia. Out-of-box SqlTrackingService używa elementu do TrackingProfileSerializer serializacji i deserializacji profilów śledzenia przechowywanych w bazie danych.

Konstruktory

TrackingProfileSerializer()
Przestarzałe.

Inicjuje nowe wystąpienie klasy TrackingProfileSerializer.

Właściwości

Schema
Przestarzałe.

Pobiera definicję schematu XML profilu śledzenia (XSD).

Metody

Deserialize(TextReader)
Przestarzałe.

Deserializuje dokument XML zawarty w czytniku tekstu przy użyciu definicji schematu XML profilu śledzenia (XSD).

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 wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()
Przestarzałe.

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Serialize(TextWriter, TrackingProfile)
Przestarzałe.

Serializuje profil śledzenia w dokumencie XML przy użyciu definicji schematu XML profilu śledzenia (XSD).

ToString()
Przestarzałe.

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też