工作流跟踪:实现与配置详解
1. 跟踪参与者基础
在工作流开发中,跟踪参与者是一个重要的概念。ListBoxTrackingParticipant类继承自抽象的TrackingParticipant类,它重写了Track()方法,这是大部分跟踪工作的核心所在。当可跟踪事件发生时,工作流实例会枚举所有扩展,并调用继承自TrackingParticipant基类的扩展的Track()方法。
ListBoxTrackingParticipant类有一个私有成员_eventLog,它是对ListBox控件的引用,通过类构造函数传入。同时,还有一个AddEvent()方法,它使用窗口的主线程将字符串添加到ListBox中,这样可以让在工作流线程中运行的跟踪逻辑安全地访问应用程序控件。
以下是Track()方法接收的TrackingRecord抽象类的派生类型:
-WorkflowInstanceRecord:包含工作流实例的数据。
-BookmarkResumptionRecord:包含书签恢复的数据。
-ActivityStateRecord:包含特定活动的数