TrackingProfileSerializer Třída

Definice

Upozornění

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

Poskytuje metody pro serializaci a deserializaci sledovacích profilů do a z dokumentů XML pomocí definice schématu XML sledovacího profilu (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
Dědičnost
TrackingProfileSerializer
Atributy

Příklady

Následující příklad kódu ukazuje, jak můžete vytvořit TrackingProfileSerializer pomocí konstruktoru TrackingProfileSerializer serializovat TrackingProfile. Kód také používá metodu Serialize .

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 najdete v tématu Zastaralé typy ve Windows Workflow Foundation 4.5.

Nástroj TrackingProfileSerializer používá sledovací profil XSD obsažený v TrackingProfileSerializer.Schema serializaci TrackingProfile objektů do platných dokumentů XML a deserializaci platných dokumentů XML na TrackingProfile objekty. Provede TrackingProfileSerializer ověření při serializaci i deserializaci a v případě potřeby vyvolá příslušnou výjimku.

Dokument XML poskytuje pohodlný formát pro uložení sledovacího profilu. Poskytuje také neprogramový způsob vytváření sledovacích profilů. K serializaci a deserializaci sledovacích profilů, které jsou uloženy v jeho databázi, používá TrackingProfileSerializer předpřisáhlý SqlTrackingService objekt.

Konstruktory

TrackingProfileSerializer()
Zastaralé.

Inicializuje novou instanci TrackingProfileSerializer třídy.

Vlastnosti

Schema
Zastaralé.

Získá definici schématu XML sledovacího profilu (XSD).

Metody

Deserialize(TextReader)
Zastaralé.

Deserializuje dokument XML, který je součástí čtečky textu pomocí definice schématu XML sledovacího profilu (XSD).

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é.

Získá aktuální Type instanci.

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

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

(Zděděno od Object)
Serialize(TextWriter, TrackingProfile)
Zastaralé.

Serializuje sledovací profil do dokumentu XML pomocí definice schématu XML sledovacího profilu (XSD).

ToString()
Zastaralé.

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

(Zděděno od Object)

Platí pro

Viz také