我創建了一個執行一項特定任務的Windows Workflow 4工作流程。這些需求隨着軟件開發的變化而變化,現在工作流需要多次完成這項任務。Windows工作流中的子活動未發出跟蹤數據
我的解決方案是創建另一個工作流程,每次在集合中執行第一個工作流程。這工作正常。但是,我們的跟蹤參與者不會爲現在的子流程發佈任何記錄。
參與者仍然爲主工作流程發出數據,但它並不理想,因爲它只包含有關循環收集的信息。在執行內部工作流程時,我們可以看到詳細的輸出。
有沒有什麼我們在設置我們的跟蹤缺少?最好我不想以不同的方式構建工作流程,因爲我們可以想象,當我們開發工作流程時,我們會再次遇到這種情況,並且需要類似的解決方案。
StatusTrackingParticipant stp = new StatusTrackingParticipant
{
TrackingProfile = new TrackingProfile
{
Queries =
{
//Querying all states.
new ActivityStateQuery
{
ActivityName = "*",
States = { "*" }
},
//querying all activty schedules ? not sure on the terminology here.
new ActivityScheduledQuery
{
ActivityName = "*",
ChildActivityName = "*"
},
new BookmarkResumptionQuery
{
Name = "*"
},
new CancelRequestedQuery
{
ActivityName = "*",
ChildActivityName = "*"
},
new CustomTrackingQuery
{
ActivityName = "*",
Name = "*"
},
new FaultPropagationQuery
{
FaultHandlerActivityName = "*",
FaultSourceActivityName = "*"
},
//Querying all workflow instances ? not sure on the terminology here.
new WorkflowInstanceQuery
{
States = { "*" }
},
}
}
};
我已將參與者的創作添加到我的問題中。當你說「你必須主動指定你想要跟蹤的查詢和狀態」這是否意味着你不能指定「*」,所有狀態?基本上我們想把所有的跟蹤信息轉儲到數據庫中以備以後處理。 –
您可以使用'「*」'。你*應該*使用它,如果你想追蹤一切,當然。 – Joao
好的。正如你在上面的代碼中看到的那樣,我認爲我已經設置了幾乎所有的事情。但是,我的「內在」工作流程仍然沒有排出跟蹤記錄。 –