TrackingProfileSerializer Classe

Definizione

Attenzione

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

Fornisce metodi per la serializzazione e deserializzazione dei profili di rilevamento da e in documenti XML utilizzando l'XML Schema Definition (XSD) del profilo di rilevamento.

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
Ereditarietà
TrackingProfileSerializer
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come creare una classe TrackingProfileSerializer utilizzando il costruttore TrackingProfileSerializer per serializzare un TrackingProfile. Il codice utilizza inoltre il metodo Serialize.

Questo esempio di codice fa parte dell'esempio SDK Query using SQLTrackingService nel file Program.cs. Per altre informazioni, vedere Esecuzione di query con 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

Commenti

Nota

In questo materiale vengono descritti tipi e spazi dei nomi obsoleti. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati in Windows Workflow Foundation 4.5).

TrackingProfileSerializer utilizza lo XSD del profilo di rilevamento contenuto in TrackingProfileSerializer.Schema per serializzare oggetti TrackingProfile in documenti XML validi e per deserializzare documenti XML validi in oggetti TrackingProfile. TrackingProfileSerializer esegue la convalida sia durante la serializzazione che durante la deserializzazione e, se necessario, genera un'eccezione appropriata.

Un documento XML rappresenta un formato appropriato nel quale archiviare un profilo di rilevamento. Esso fornisce inoltre un modo per creare profili di rilevamento non a livello di programmazione. L’elemento SqlTrackingService incluso utilizza un TrackingProfileSerializer per serializzare e deserializzare i profili di rilevamento archiviati in questo database.

Costruttori

TrackingProfileSerializer()
Obsoleti.

Inizializza una nuova istanza della classe TrackingProfileSerializer.

Proprietà

Schema
Obsoleti.

Ottiene l'XML Schema Definition (XSD) del profilo di rilevamento.

Metodi

Deserialize(TextReader)
Obsoleti.

Deserializza il documento XML contenuto nel visualizzatore di testo utilizzando l'XML Schema Definition (XSD) del profilo di rilevamento.

Equals(Object)
Obsoleti.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Serialize(TextWriter, TrackingProfile)
Obsoleti.

Serializza il profilo di rilevamento in un documento XML utilizzando l'XML Schema Definition (XSD) del profilo di rilevamento.

ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche