TrackingProfile.ActivityTrackPoints プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アクティビティ ステータス イベントをフィルター処理するためにランタイム追跡インフラストラクチャによって使われるアクティビティ追跡ポイントのコレクションを取得します。
public:
property System::Workflow::Runtime::Tracking::ActivityTrackPointCollection ^ ActivityTrackPoints { System::Workflow::Runtime::Tracking::ActivityTrackPointCollection ^ get(); };
public System.Workflow.Runtime.Tracking.ActivityTrackPointCollection ActivityTrackPoints { get; }
member this.ActivityTrackPoints : System.Workflow.Runtime.Tracking.ActivityTrackPointCollection
Public ReadOnly Property ActivityTrackPoints As ActivityTrackPointCollection
プロパティ値
ランタイム追跡インフラストラクチャが ActivityTrackPointCollection を追跡サービスに送る対象となる、ワークフロー インスタンス内のポイントを指定する ActivityTrackingRecord。
例
次のコード例は、TrackingProfile コンストラクターを使用して TrackingProfile を作成し、オブジェクトのプロパティを使用してワークフローの実行を追跡する方法を示しています。 このコードでは、ActivityTrackPoints、Version、および WorkflowTrackPoints プロパティを使用しています。
このコード例は、Program.cs ファイルに含まれている、SQLTrackingService を使用したクエリを示す SDK サンプルの一部です。 詳細については、「 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
注釈
アクティビティ インスタンスの ActivityExecutionStatus が変化するたびに、ワークフロー インスタンスはアクティビティ ステータス イベントをランタイム追跡インフラストラクチャに送出します。 ランタイム追跡インフラストラクチャは ActivityTrackPoints プロパティを使ってこれらのアクティビティ ステータス イベントをフィルター処理することにより、ActivityTrackingRecord を追跡サービスにいつ送るかを判別します。 ActivityTrackPoint を ActivityTrackPoints プロパティに追加することにより、ランタイム インフラストラクチャが ActivityTrackingRecord を送る対象となる、ワークフロー インスタンスの実行パス内の追跡ポイントを指定できます。
ActivityTrackPoint はワークフロー インスタンス内の物理的ポイントを実際に定義するのではなく、照合パラメーターのセットを定義します。このセットは、ActivityTrackingRecord を送る対象のアクティビティ ステータス イベントを照合するためにランタイム追跡インフラストラクチャによって使われます。 そのため、ワークフロー インスタンスの実行中に同じ ActivityTrackPoint を何度も照合できます。 また、ActivityTrackPoint は、ワークフロー インスタンスから抽出されて ActivityTrackingRecord で返されるデータを指定することもできます。
適用対象
こちらもご覧ください
.NET