当我的工作流作为服务托管时,有没有办法以某种方式订阅工作流实例事件?
我创建了我的workflowservicehost并打开,稍后我的客户端应用程序将调用它,并根据内部的工作流程代码创建,完成,空闲等新工作流实例。
但是workflowservicehost只有打开,关闭的事件,而不是与内部实例相关的事件。当我使用workflowapplication类进行托管时没有问题,因为工作流应用程序已经完成,中止,空闲属性。
我会将此事件用于自定义日志记录,例如更新有关工作流状态的表。要从标准跟踪数据库中获取此信息不是一个选项,因为我使用与我的工作流程相关的自定义状态代码。
答案 0 :(得分:3)
您可以通过创建自定义TrackingParticipant来跟踪WorkflowServiceHost内的各个工作流程。如果需要,您可以添加TrackingProfile来过滤您感兴趣的事件,甚至从工作流中提取变量。
有关详细信息,请参阅here。