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 파일에 있는 Query using 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