我們rying使用WF由基本聽不同的查詢多個跟蹤參與者 - 一個用於活動狀態,一個用於定製tracknig記錄這是CustomTrackingRecord的子類。多個TrackingParticipants不工作,有有趣的副作用?
的問題是,我們可以利用來逐個既TrackingParticipants,卻不能在一起 - 我們永遠不會從CustomTrackingRecord但是A CustomTrackingRecord讓我們的子類。
如果我把bopth查詢到一個TrackingParticipant,然後在一個處理everythign,既很好地工作(這表明德錯誤是不是我們把它們)。
在合併一個問題的代碼是:
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(不同的名字),每個查詢的一個。
在軌道方法,同時使用不同的時,該行:
protected override void Track(TrackingRecord record, TimeSpan timeout)
{
Console.WriteLine("*** ActivityTracking: " + record.GetType());
if (record is ActivityBasedTrackingRecord)
{
System.Diagnostics.Debugger.Break();
}
使用,只有當一個跟蹤我們的CustomTrackingRecord子類(ActivityBasedTrackingRecord),那麼它的工作從來沒有導致調試器觸及。
任何人都知道這件事嗎?現在我們已經將兩個TrackingParticipants合併爲一個,但這具有不利的副作用,我們無法動態擴展我們所喜歡的日誌記錄可能性。這是世界自然基金會的一個已知問題嗎?使用
版本:4.0 SP1功能更新1.
你有一個鏈接到你referrring的文檔?我很樂意閱讀那一個。其實我不是一個超級追隨者在一個班級裏做所有事情的,並且它很好。 – TomTom
我遇到同樣的問題。 ** MSDN blog words:**「在WF 4中,多個跟蹤參與者可以同時使用跟蹤事件,每個跟蹤參與者可以與不同的跟蹤配置文件相關聯。」我不相信這是真的。 http://blogs.msdn.com/b/endpoint/archive/2009/07/14/tracking-participants-in-net-4-beta-1.aspx –