-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
TrackingProfile.xml
252 lines (207 loc) · 26.4 KB
/
TrackingProfile.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<Type Name="TrackingProfile" FullName="System.Workflow.Runtime.Tracking.TrackingProfile">
<TypeSignature Language="C#" Value="public class TrackingProfile" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable beforefieldinit TrackingProfile extends System.Object" />
<TypeSignature Language="DocId" Value="T:System.Workflow.Runtime.Tracking.TrackingProfile" />
<TypeSignature Language="VB.NET" Value="Public Class TrackingProfile" />
<TypeSignature Language="F#" Value="type TrackingProfile = class" />
<TypeSignature Language="C++ CLI" Value="public ref class TrackingProfile" />
<AssemblyInfo>
<AssemblyName>System.Workflow.Runtime</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.Serializable]</AttributeName>
<AttributeName Language="F#">[<System.Serializable>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1">
<AttributeName Language="C#">[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]</AttributeName>
<AttributeName Language="F#">[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Defines points of interest in the potential execution path of a root workflow instance about which a tracking service should be notified.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
> [!NOTE]
> [!INCLUDE[DeprecatedContent](~/includes/deprecatedcontent-md.md)]
During its run time, a workflow instance emits tracking events to the runtime tracking infrastructure. The runtime tracking infrastructure uses a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> to filter these tracking events and returns tracking records based on this filtering to a tracking service. There are three kinds of tracking events that can be filtered: activity status events, workflow status events, and user events. You can add <xref:System.Workflow.Runtime.Tracking.ActivityTrackPoint> objects to the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A> property to match specific activity status events; <xref:System.Workflow.Runtime.Tracking.WorkflowTrackPoint> objects to the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> property to match specific workflow status events; and <xref:System.Workflow.Runtime.Tracking.UserTrackPoint> objects to the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.UserTrackPoints%2A> property to match specific user events. When a track point is matched, the runtime tracking infrastructure returns the data associated with the tracking event to the tracking service over the <xref:System.Workflow.Runtime.Tracking.TrackingChannel> associated with that service. The data is returned in either an <xref:System.Workflow.Runtime.Tracking.ActivityTrackingRecord>, a <xref:System.Workflow.Runtime.Tracking.WorkflowTrackingRecord>, or a <xref:System.Workflow.Runtime.Tracking.UserTrackingRecord> depending on the type of track point that was matched.
A tracking service implements the methods in the abstract <xref:System.Workflow.Runtime.Tracking.TrackingService> class to provide the functionality for the runtime tracking infrastructure to request a <xref:System.Workflow.Runtime.Tracking.TrackingChannel> associated with the service, and a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> associated with a particular workflow instance or with a particular workflow type. A tracking service must also implement the abstract <xref:System.Workflow.Runtime.Tracking.TrackingChannel> class to provide the channel over which the runtime tracking infrastructure can send tracking records.
When the tracking service returns a tracking profile object to the runtime, the workflow starts to execute, and the tracking profile is serialized. If the serialization of the tracking profile fails, an exception is raised to the workflow instance. If the exception is not handled, the workflow instance is terminated. The tracking profile can be validated before passing it to the runtime using the <xref:System.Workflow.Runtime.Tracking.TrackingProfileSerializer.Schema%2A> property.
A <xref:System.Workflow.Runtime.Tracking.TrackingProfile> can be serialized to XML by using the <xref:System.Workflow.Runtime.Tracking.TrackingProfileSerializer>, which formats the XML according to the <xref:System.Workflow.Runtime.Tracking.TrackingProfileSerializer.Schema%2A>. This provides a convenient format for profile storage and for authoring a profile in a non-programmatic manner. For example, the SQL Tracking Service stores serialized versions of its tracking profiles, as will any tracking service you create based on the <xref:System.Workflow.Runtime.Tracking.SqlTrackingService> class.
## Examples
The following code example demonstrates how you can create a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> using the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.%23ctor%2A> constructor and use the object's properties to help track the execution of a workflow. The example code uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A>, <xref:System.Workflow.Runtime.Tracking.TrackingProfile.Version%2A>, and <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> properties.
This code example is part of the Query using SQLTrackingService SDK sample from the Program.cs file. For more information, see [Query Using SQLTrackingService](https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)).
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/wf_samples/cs/snippets24.cs" id="Snippet291":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/wf_samples/vb/snippets24.vb" id="Snippet291":::
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)">Query Using SQLTrackingService</related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TrackingProfile ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Workflow.Runtime.Tracking.TrackingProfile.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 TrackingProfile();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Workflow.Runtime</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>Initializes a new instance of <see cref="T:System.Workflow.Runtime.Tracking.TrackingProfile" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The constructor initializes an empty <xref:System.Workflow.Runtime.Tracking.TrackingProfile>. You can add track points to <xref:System.Workflow.Runtime.Tracking.TrackingProfile.UserTrackPoints%2A>, <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A>, and <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> to configure the <xref:System.Workflow.Runtime.Tracking.TrackingProfile>.
## Examples
The following code example demonstrates how you can create a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> using the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.%23ctor%2A> constructor and use the object's properties to help track the execution of a workflow. The example code uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A>, <xref:System.Workflow.Runtime.Tracking.TrackingProfile.Version%2A>, and <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> properties.
This code example is part of the Query using SQLTrackingService SDK sample from the Program.cs file. For more information, see [Query Using SQLTrackingService](https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)).
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/wf_samples/cs/snippets24.cs" id="Snippet291":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/wf_samples/vb/snippets24.vb" id="Snippet291":::
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)">Query Using SQLTrackingService</related>
</Docs>
</Member>
<Member MemberName="ActivityTrackPoints">
<MemberSignature Language="C#" Value="public System.Workflow.Runtime.Tracking.ActivityTrackPointCollection ActivityTrackPoints { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Workflow.Runtime.Tracking.ActivityTrackPointCollection ActivityTrackPoints" />
<MemberSignature Language="DocId" Value="P:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property ActivityTrackPoints As ActivityTrackPointCollection" />
<MemberSignature Language="F#" Value="member this.ActivityTrackPoints : System.Workflow.Runtime.Tracking.ActivityTrackPointCollection" Usage="System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Workflow::Runtime::Tracking::ActivityTrackPointCollection ^ ActivityTrackPoints { System::Workflow::Runtime::Tracking::ActivityTrackPointCollection ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Workflow.Runtime</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Workflow.Runtime.Tracking.ActivityTrackPointCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the collection of activity track points used by the runtime tracking infrastructure to filter activity status events.</summary>
<value>An <see cref="T:System.Workflow.Runtime.Tracking.ActivityTrackPointCollection" /> that specifies the points in a workflow instance for which the runtime tracking infrastructure should send an <see cref="T:System.Workflow.Runtime.Tracking.ActivityTrackingRecord" /> to the tracking service.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A workflow instance emits activity status events to the runtime tracking infrastructure whenever the <xref:System.Workflow.ComponentModel.ActivityExecutionStatus> of an activity instance changes. The runtime tracking infrastructure uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A> property to filter these activity status events to determine when to send an <xref:System.Workflow.Runtime.Tracking.ActivityTrackingRecord> to the tracking service. You can add an <xref:System.Workflow.Runtime.Tracking.ActivityTrackPoint> to the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A> property to specify points of interest in the potential execution path of the workflow instance for which you want the runtime infrastructure to send an <xref:System.Workflow.Runtime.Tracking.ActivityTrackingRecord>.
An <xref:System.Workflow.Runtime.Tracking.ActivityTrackPoint> does not actually define a physical point in a workflow instance, but instead defines a set of match parameters that can be used by the runtime tracking infrastructure to match an activity status event for which it should send an <xref:System.Workflow.Runtime.Tracking.ActivityTrackingRecord>. Therefore, the same <xref:System.Workflow.Runtime.Tracking.ActivityTrackPoint> can be matched many times during the lifespan of a workflow instance. An <xref:System.Workflow.Runtime.Tracking.ActivityTrackPoint> can also specify data to be extracted from the workflow instance and returned in the <xref:System.Workflow.Runtime.Tracking.ActivityTrackingRecord>.
## Examples
The following code example demonstrates how you can create a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> using the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.%23ctor%2A> constructor and use the object's properties to help track the execution of a workflow. The example code uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A>, <xref:System.Workflow.Runtime.Tracking.TrackingProfile.Version%2A>, and <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> properties.
This code example is part of the Query using SQLTrackingService SDK sample from the Program.cs file. For more information, see [Query Using SQLTrackingService](https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)).
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/wf_samples/cs/snippets24.cs" id="Snippet291":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/wf_samples/vb/snippets24.vb" id="Snippet291":::
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)">Query Using SQLTrackingService</related>
</Docs>
</Member>
<Member MemberName="UserTrackPoints">
<MemberSignature Language="C#" Value="public System.Workflow.Runtime.Tracking.UserTrackPointCollection UserTrackPoints { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Workflow.Runtime.Tracking.UserTrackPointCollection UserTrackPoints" />
<MemberSignature Language="DocId" Value="P:System.Workflow.Runtime.Tracking.TrackingProfile.UserTrackPoints" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property UserTrackPoints As UserTrackPointCollection" />
<MemberSignature Language="F#" Value="member this.UserTrackPoints : System.Workflow.Runtime.Tracking.UserTrackPointCollection" Usage="System.Workflow.Runtime.Tracking.TrackingProfile.UserTrackPoints" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Workflow::Runtime::Tracking::UserTrackPointCollection ^ UserTrackPoints { System::Workflow::Runtime::Tracking::UserTrackPointCollection ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Workflow.Runtime</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Workflow.Runtime.Tracking.UserTrackPointCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the collection of user track points used by the runtime tracking infrastructure to filter user events.</summary>
<value>A <see cref="T:System.Workflow.Runtime.Tracking.UserTrackPointCollection" /> that specifies the points in a workflow instance for which the runtime tracking infrastructure should send a <see cref="T:System.Workflow.Runtime.Tracking.UserTrackingRecord" /> to the tracking service.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A workflow designer or an activity designer can use <xref:System.Workflow.ComponentModel.Activity.TrackData%2A?displayProperty=nameWithType>, <xref:System.Workflow.ComponentModel.Activity.TrackData%2A?displayProperty=nameWithType>, <xref:System.Workflow.ComponentModel.ActivityExecutionContext.TrackData%2A?displayProperty=nameWithType>, or <xref:System.Workflow.ComponentModel.Activity.TrackData%2A?displayProperty=nameWithType> to instrument a workflow or an activity to emit data to the runtime tracking infrastructure at specific points during the execution of a workflow. Such an occurrence is called a user event and the data emitted is called user data. The runtime tracking infrastructure uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.UserTrackPoints%2A> property to filter user events to determine when to send a <xref:System.Workflow.Runtime.Tracking.UserTrackingRecord> to the tracking service. You can add a <xref:System.Workflow.Runtime.Tracking.UserTrackPoint> to the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.UserTrackPoints%2A> property to specify points of interest in the potential execution path of the workflow instance for which you want a <xref:System.Workflow.Runtime.Tracking.UserTrackingRecord> sent.
A <xref:System.Workflow.Runtime.Tracking.UserTrackPoint> does not actually define a physical point in a workflow instance, but instead defines a set of match parameters that can be used by the runtime tracking infrastructure to match user events. Therefore, the same <xref:System.Workflow.Runtime.Tracking.UserTrackPoint> can be matched many times during the lifespan of a workflow instance. The runtime tracking infrastructure always returns the user data associated with a matched <xref:System.Workflow.Runtime.Tracking.UserTrackPoint> in the <xref:System.Workflow.Runtime.Tracking.UserTrackingRecord>, but a <xref:System.Workflow.Runtime.Tracking.UserTrackPoint> can also specify data to be extracted from the workflow instance and returned in the tracking record.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Version">
<MemberSignature Language="C#" Value="public Version Version { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Version Version" />
<MemberSignature Language="DocId" Value="P:System.Workflow.Runtime.Tracking.TrackingProfile.Version" />
<MemberSignature Language="VB.NET" Value="Public Property Version As Version" />
<MemberSignature Language="F#" Value="member this.Version : Version with get, set" Usage="System.Workflow.Runtime.Tracking.TrackingProfile.Version" />
<MemberSignature Language="C++ CLI" Value="public:
 property Version ^ Version { Version ^ get(); void set(Version ^ value); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Workflow.Runtime</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Version</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the version of the tracking profile.</summary>
<value>The <see cref="T:System.Version" /> of the <see cref="T:System.Workflow.Runtime.Tracking.TrackingProfile" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Because of the semantics of profile caching in the workflow runtime engine, if you change the contents of a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> you must update <xref:System.Workflow.Runtime.Tracking.TrackingProfile.Version%2A>. If you do not, your updated <xref:System.Workflow.Runtime.Tracking.TrackingProfile> may not be loaded by the workflow runtime engine, even if it is returned by a call to <xref:System.Workflow.Runtime.Tracking.TrackingService.TryReloadProfile%2A?displayProperty=nameWithType>, or sent in the <xref:System.Workflow.Runtime.Tracking.ProfileUpdatedEventArgs> associated with a <xref:System.Workflow.Runtime.Tracking.IProfileNotification.ProfileUpdated> event. Therefore, to ensure that the updated <xref:System.Workflow.Runtime.Tracking.TrackingProfile> is loaded by the workflow runtime engine, you should change the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.Version%2A> for the <xref:System.Workflow.Runtime.Tracking.TrackingProfile>. You can then explicitly call <xref:System.Workflow.Runtime.WorkflowInstance.ReloadTrackingProfiles%2A?displayProperty=nameWithType> on any appropriate workflow instances, or, depending on your implementation, you can rely on the tracking service to inform the workflow runtime engine of the change. For more information, see <xref:System.Workflow.Runtime.Tracking.TrackingService>.
## Examples
The following code example demonstrates how you can create a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> using the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.%23ctor%2A> constructor and use the object's properties to help track the execution of a workflow. The example code uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A>, <xref:System.Workflow.Runtime.Tracking.TrackingProfile.Version%2A>, and <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> properties.
This code example is part of the Query using SQLTrackingService SDK sample from the Program.cs file. For more information, see [Query Using SQLTrackingService](https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)).
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/wf_samples/cs/snippets24.cs" id="Snippet291":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/wf_samples/vb/snippets24.vb" id="Snippet291":::
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)">Query Using SQLTrackingService</related>
</Docs>
</Member>
<Member MemberName="WorkflowTrackPoints">
<MemberSignature Language="C#" Value="public System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection WorkflowTrackPoints { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection WorkflowTrackPoints" />
<MemberSignature Language="DocId" Value="P:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property WorkflowTrackPoints As WorkflowTrackPointCollection" />
<MemberSignature Language="F#" Value="member this.WorkflowTrackPoints : System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection" Usage="System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Workflow::Runtime::Tracking::WorkflowTrackPointCollection ^ WorkflowTrackPoints { System::Workflow::Runtime::Tracking::WorkflowTrackPointCollection ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Workflow.Runtime</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the collection of workflow track points used by the runtime tracking infrastructure to filter workflow status events.</summary>
<value>A <see cref="T:System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection" /> that specifies the points in a workflow instance for which the runtime tracking infrastructure should send a <see cref="T:System.Workflow.Runtime.Tracking.WorkflowTrackingRecord" /> to the tracking service.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A workflow instance emits workflow status events to the runtime tracking infrastructure whenever a <xref:System.Workflow.Runtime.Tracking.TrackingWorkflowEvent> occurs indicating that the status of a workflow instance has changed. The runtime tracking infrastructure uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> property to filter these workflow status events to determine when to send a <xref:System.Workflow.Runtime.Tracking.WorkflowTrackingRecord> to the tracking service. You can add a <xref:System.Workflow.Runtime.Tracking.WorkflowTrackPoint> to the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> property to specify points of interest in the potential execution path of the workflow instance for which you want a <xref:System.Workflow.Runtime.Tracking.WorkflowTrackingRecord> sent.
A <xref:System.Workflow.Runtime.Tracking.WorkflowTrackPoint> does not actually define a physical point in a workflow instance, but instead defines one or more <xref:System.Workflow.Runtime.Tracking.TrackingWorkflowEvent> values that can be used by the runtime tracking infrastructure to match workflow status events. Therefore, the same <xref:System.Workflow.Runtime.Tracking.WorkflowTrackPoint> can be matched many times during the lifespan of a workflow instance. A <xref:System.Workflow.Runtime.Tracking.WorkflowTrackPoint> can also specify any annotations to be returned in the <xref:System.Workflow.Runtime.Tracking.WorkflowTrackingRecord>.
## Examples
The following code example demonstrates how you can create a <xref:System.Workflow.Runtime.Tracking.TrackingProfile> using the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.%23ctor%2A> constructor and use the object's properties to help track the execution of a workflow. The example code uses the <xref:System.Workflow.Runtime.Tracking.TrackingProfile.ActivityTrackPoints%2A>, <xref:System.Workflow.Runtime.Tracking.TrackingProfile.Version%2A>, and <xref:System.Workflow.Runtime.Tracking.TrackingProfile.WorkflowTrackPoints%2A> properties.
This code example is part of the Query using SQLTrackingService SDK sample from the Program.cs file. For more information, see [Query Using SQLTrackingService](https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)).
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/wf_samples/cs/snippets24.cs" id="Snippet291":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/wf_samples/vb/snippets24.vb" id="Snippet291":::
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dotnet/netframework-3.5/ms742042(v=vs.90)">Query Using SQLTrackingService</related>
</Docs>
</Member>
</Members>
</Type>