追蹤記錄
工作流程執行階段經檢測會發出追蹤記錄,以追蹤工作流程執行個體的執行。
追蹤記錄
下表詳細說明工作流程執行階段發出的追蹤記錄。
追蹤記錄 | 描述 |
---|---|
工作流程生命週期記錄 | 在工作流程執行個體開發週期的不同階段發出。 例如,當工作流程啟動或完成時,就會發出記錄。 |
活動生命週期記錄 | 活動執行詳細資訊。 這些記錄會指出工作流程活動的狀態,例如活動排程時間、活動完成時間,或是發生錯誤的時間。 |
書籤繼續記錄 | 只要工作流程執行個體中的書籤繼續,就會發出。 |
自訂追蹤記錄 | 工作流程作者可建立自訂追蹤事件記錄,並在自訂活動中發出這些記錄。 |
所有與追蹤相關的記錄均會從衍生自基底類別 TrackingRecord (包含通用資料集) 的 WF 執行階段發出。 追蹤記錄會顯示簡單工作流程的生命週期。 每個追蹤記錄均包含相關聯之追蹤事件的詳細資訊,例如 InstanceId、RecordNumber,以及追蹤記錄類型專屬的其他資訊。
工作流程執行階段會發出下列型別的 TrackingRecord 物件:
WorkflowInstanceRecord - 這個 TrackingRecord 描述工作流程執行個體的生命週期。 例如,當工作流程啟動或完成時,就會發出記錄,同時包含工作流程執行個體的狀態。 這個記錄的詳細資訊可以在 WorkflowInstanceRecord 中找到。
WorkflowInstanceAbortedRecord - 當工作流程執行個體中止時,就會發出這個 TrackingRecord。 記錄包含工作流程執行個體中止的原因。 這個記錄的詳細資訊可以在 WorkflowInstanceAbortedRecord 中找到。
WorkflowInstanceUnhandledExceptionRecord - 如果工作流程執行個體中發生例外狀況,且未經任何活動處理,就會發出這個 TrackingRecord。 記錄包含例外狀況的詳細資訊。 這個記錄的詳細資訊可以在 WorkflowInstanceUnhandledExceptionRecord 中找到。
WorkflowInstanceSuspendedRecord - 只要工作流程執行個體暫停,就會發出這個 TrackingRecord。 記錄包含工作流程執行個體暫停的原因。 這個記錄的詳細資訊可以在 WorkflowInstanceSuspendedRecord 中找到。
WorkflowInstanceTerminatedRecord - 只要工作流程執行個體終止,就會發出這個 TrackingRecord。 記錄包含工作流程執行個體終止的原因。 這個記錄的詳細資訊可以在 WorkflowInstanceTerminatedRecord 中找到。
ActivityStateRecord -當工作流程中的活動執行時,就會發出這個 TrackingRecord。 這些記錄會指出工作流程執行個體內之活動的狀態。 這個記錄的詳細資訊可以在 ActivityStateRecord 中找到。
ActivityScheduledRecord - 當活動排程子活動時,就會發出這個 TrackingRecord。 這個記錄包含父活動 (排程活動) 及排程之子活動的詳細資訊。 這個記錄的詳細資訊可以在 ActivityScheduledRecord 中找到。
FaultPropagationRecord - 只要處理常式在記錄處理前查看該記錄,就會發出這個 TrackingRecord。 這個記錄會用於表示錯誤在工作流程執行個體中採取的路徑。 這個記錄的詳細資訊可以在 FaultPropagationRecord 中找到。
CancelRequestedRecord - 只要活動嘗試取消子活動,就會發出這個 TrackingRecord。 這個記錄包含父活動及要取消之子活動的詳細資訊。 這個記錄的詳細資訊可以在 CancelRequestedRecord 中找到。
BookmarkResumptionRecord - 這個 TrackingRecord 會追蹤順利繼續的任何書籤。 這個記錄的詳細資訊可以在 BookmarkResumptionRecord 中找到。
CustomTrackingRecord - 這個 TrackingRecord 會由工作流程作者在自訂工作流程活動中建立及發出。 自訂追蹤記錄中可以填入要發出的資料與記錄。 這個記錄的詳細資訊可以在 CustomTrackingRecord 中找到。
例如,若有包含 Sequence 作業的簡單 WriteLine 活動,其追蹤記錄是按下列順序發出的:
WorkflowInstanceRecord 表示工作流程正在啟動。
ActivityScheduledRecord 表示活動已排程。 在此種情況下,這是 Sequence 活動。
ActivityScheduledRecord 代表 WriteLine 活動。
有兩個 ActivityStateRecord 記錄,代表兩個即將完成的活動。
WorkflowInstanceRecord 表示工作流程正在完成。