우리는 기본적으로 여러 쿼리를 듣는 다중 추적 참가자와 함께 WF를 사용하려고합니다. 하나는 활동 상태이고 다른 하나는 CustomTrackingRecord의 하위 클래스 인 사용자 지정 tracknig 레코드입니다.여러 TrackingParticipants가 작동하지 않고 재미있는 부작용이 있습니까?
문제는 개별적으로 TrackingParticipant를 사용할 수 있지만 함께 사용하는 것이 아니라는 것입니다. 우리는 CustomTrackingRecord가 아닌 CustomTrackingRecord라는 하위 클래스를 사용하지 않습니다.
하나의 TrackingParticipant에 뚜렷한 쿼리를 넣은 다음 하나의 트랙을 처리하는 경우 둘 다 완벽하게 작동합니다 (이는 우리가 던지는 오류가 아니라는 것을 나타냄).
결합 된 하나 문제의 코드는 다음과 같습니다
public WorkflowServiceTrackingParticipant()
{
this.TrackingProfile = new TrackingProfile()
{
ActivityDefinitionId = "*",
ImplementationVisibility = ImplementationVisibility.All,
Name = "WorkflowServiceTrackingProfile",
Queries = {
new CustomTrackingQuery() { Name = "*", ActivityName = "*" },
new ActivityStateQuery() {
States = {
ActivityStates.Canceled,
ActivityStates.Closed,
ActivityStates.Executing,
ActivityStates.Faulted
}
},
}
};
}
이 TrackingParticipants를 사용하여 우리는 (다른 이름)이 TrackingProfile이 각각 쿼리 중 하나가 있는지. 트랙 방법
, 모두 별도의 사용, 라인 : 우리 CustomTrackingRecord 서브 클래스 (ActivityBasedTrackingRecord) 다음 작동을 추적하기 위해 단지 하나를 사용하는 경우 이protected override void Track(TrackingRecord record, TimeSpan timeout)
{
Console.WriteLine("*** ActivityTracking: " + record.GetType());
if (record is ActivityBasedTrackingRecord)
{
System.Diagnostics.Debugger.Break();
}
디버거 타격, 발생하지 않았다.
누구든지 알고 있나요? 지금까지 두 TrackingParticipant를 하나로 결합했지만, 이로 인해 로깅 가능성을 동적으로 확장 할 수없는 부작용이 있습니다. WWF에서 알려진 문제인가요? 사용
버전 : 4.0 SP1을 기능 업데이트 1.
을 선택 묘사하고? 나는 그 것을 읽는 것을 좋아할 것이다. 사실 나는 하나의 클래스에서 모든 것을하는 super trackiong 참여자를 요구하지 않고 좋은 결과를 얻는다. – TomTom
동일한 문제가 있습니다. ** MSDN 블로그 단어 : ** "WF 4에서는 여러 추적 참가자가 동시에 추적 이벤트를 사용할 수 있습니다. 각 추적 참가자는 다른 추적 프로필과 연결할 수 있습니다." 나는 그것이 사실이라고 믿지 않는다. http://blogs.msdn.com/b/endpoint/archive/2009/07/14/tracking-participants-in-net-4-beta-1.aspx –