目錄
跟蹤體繫結構
追蹤設定檔
SQL 追蹤服務
查詢跟蹤資料
自訂Tracing Service
Windows Workflow Foundation 中最強大的功能之一是跟蹤。它使您能夠監控事件、活動屬性以及您的工作流程中的自訂資料。在本專欄中,我將檢查跟蹤基礎結構、向您介紹如何使用內建的基於 SQL Server™ 的Tracing Service以及如何為各種應用建立自訂Tracing Service。順著這一思路,我將示範如何使用所跟蹤的資訊以及如何通過使用跟蹤來滿足一些常見的需求。
許多應用程式需要瞭解程式邏輯和處理步驟的執行。這有助於企業遵守法規,根據執行裡程碑或各種其他原因來管理風險列表。Windows® Workflow Foundation 提供了靈活的基礎結構,您可以在其中覆蓋您的自訂實現,而不必為各應用程式建立不同的跟蹤系統。這簡化了開發模型,使您可以關注於跟蹤的業務要求。
跟蹤體繫結構
當在 Windows Workflow Foundation 中承載工作流程時,您既可以承載工作流程運行庫,也可以承載一組運行時服務。許多運行時服務(如持久性服務)必須最多有一個在運行庫中註冊的執行個體。Tracing Service是個例外,允許將多個Tracing Service添加到運行庫中以支援不同的業務要求。這使您能夠將若干不同的跟蹤任務應用於一個應用程式,各Tracing Service負責特定的實現。
Windows Workflow Foundation 中的跟蹤基於中央接聽程式,接聽程式可監控活動和工作流程事件並將相應的資料發送到各個配置的Tracing Service。(這種體繫結構如圖 1 所示。)跟蹤接聽程式接收所有事件的通知,但多數情況下,只有這些事件中的一個子集是有用的。而且,如果您要使用多個Tracing Service,各任務有可能將只關注於唯一一個資訊子集。因此,跟蹤接聽程式將查詢各配置的Tracing Service以跟蹤各類工作流程的設定檔。
圖 1跟蹤體繫結構
追蹤設定檔為接聽程式提供關於Tracing Service要接收的事件的類型的資訊。這些事件可以分為三類:工作流程、活動和使用者。
工作流程事件使您能夠跟蹤工作流程可能處於的各種狀態,以及它們發生的時間。對於包含自訂事件參數的事件,如 WorkflowTerminated 或 WorkflowCompleted,事件參數本身可被跟蹤,並隨後被查詢。
活動事件使您能夠跟蹤活動進入特定狀態的時間和活動進入該狀態時具體的活動屬性值。例如,如果您有一個寄送電子郵件的活動,當活動進入 Closed 狀態時,您可以跟蹤 To 地址屬性。
最後,使用者事件使您可以在您的工作流程或活動中手動跟蹤資料。