Bagikan melalui


TrackingProfile Kelas

Definisi

Perhatian

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

Menentukan tempat menarik dalam jalur eksekusi potensial instans alur kerja akar tempat layanan pelacakan harus diberi tahu.

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
Warisan
TrackingProfile
Atribut

Contoh

Contoh kode berikut menunjukkan bagaimana Anda dapat membuat TrackingProfile menggunakan TrackingProfile konstruktor dan menggunakan properti objek untuk membantu melacak eksekusi alur kerja. Contoh kode menggunakan ActivityTrackPointsproperti , Version, dan WorkflowTrackPoints .

Contoh kode ini adalah bagian dari Kueri menggunakan sampel SQLTrackingService SDK dari file Program.cs. Untuk informasi selengkapnya, lihat Kueri Menggunakan 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

Keterangan

Catatan

Materi ini membahas jenis dan namespace layanan yang sudah tidak digunakan. Untuk informasi selengkapnya, lihat Tipe Yang Tidak Digunakan Lagi di Windows Workflow Foundation 4.5.

Selama durasinya, instans alur kerja memancarkan peristiwa pelacakan ke infrastruktur pelacakan runtime. Infrastruktur pelacakan runtime menggunakan TrackingProfile untuk memfilter peristiwa pelacakan ini dan mengembalikan rekaman pelacakan berdasarkan pemfilteran ini ke layanan pelacakan. Ada tiga jenis peristiwa pelacakan yang dapat difilter: peristiwa status aktivitas, peristiwa status alur kerja, dan peristiwa pengguna. Anda dapat menambahkan ActivityTrackPoint objek ke ActivityTrackPoints properti agar sesuai dengan peristiwa status aktivitas tertentu; WorkflowTrackPoint objek ke WorkflowTrackPoints properti agar sesuai dengan peristiwa status alur kerja tertentu; dan UserTrackPoint objek ke UserTrackPoints properti agar sesuai dengan peristiwa pengguna tertentu. Saat titik trek dicocokkan, infrastruktur pelacakan runtime mengembalikan data yang terkait dengan peristiwa pelacakan ke layanan pelacakan melalui yang terkait dengan layanan tersebut TrackingChannel . Data dikembalikan dalam ActivityTrackingRecord, , WorkflowTrackingRecordatau UserTrackingRecord tergantung pada jenis titik trek yang cocok.

Layanan pelacakan mengimplementasikan metode di kelas abstrak TrackingService untuk menyediakan fungsionalitas untuk infrastruktur pelacakan runtime untuk meminta yang TrackingChannel terkait dengan layanan, dan TrackingProfile yang terkait dengan instans alur kerja tertentu atau dengan jenis alur kerja tertentu. Layanan pelacakan juga harus menerapkan kelas abstrak TrackingChannel untuk menyediakan saluran tempat infrastruktur pelacakan runtime dapat mengirim rekaman pelacakan.

Saat layanan pelacakan mengembalikan objek profil pelacakan ke runtime, alur kerja mulai dijalankan, dan profil pelacakan diserialisasikan. Jika serialisasi profil pelacakan gagal, pengecualian dinaikkan ke instans alur kerja. Jika pengecualian tidak ditangani, instans alur kerja dihentikan. Profil pelacakan dapat divalidasi sebelum meneruskannya ke runtime menggunakan Schema properti .

TrackingProfile dapat diserialisasikan ke XML dengan menggunakan TrackingProfileSerializer, yang memformat XML sesuai dengan Schema. Ini menyediakan format yang nyaman untuk penyimpanan profil dan untuk menulis profil dengan cara yang tidak terprogram. Misalnya, SQL Tracking Service menyimpan versi serial profil pelacakannya, seperti halnya layanan pelacakan apa pun yang Anda buat berdasarkan SqlTrackingService kelas .

Konstruktor

TrackingProfile()
Kedaluwarsa.

Menginisialisasi instans TrackingProfilebaru .

Properti

ActivityTrackPoints
Kedaluwarsa.

Mendapatkan kumpulan titik trek aktivitas yang digunakan oleh infrastruktur pelacakan runtime untuk memfilter peristiwa status aktivitas.

UserTrackPoints
Kedaluwarsa.

Mendapatkan kumpulan titik trek pengguna yang digunakan oleh infrastruktur pelacakan runtime untuk memfilter peristiwa pengguna.

Version
Kedaluwarsa.

Mendapatkan atau mengatur versi profil pelacakan.

WorkflowTrackPoints
Kedaluwarsa.

Mendapatkan kumpulan titik trek alur kerja yang digunakan oleh infrastruktur pelacakan runtime untuk memfilter peristiwa status alur kerja.

Metode

Equals(Object)
Kedaluwarsa.

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()
Kedaluwarsa.

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()
Kedaluwarsa.

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()
Kedaluwarsa.

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()
Kedaluwarsa.

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga