我想在自己的跟踪服务中跟踪我的自定义活动的属性值,.i.e。我在内置的SQL跟踪服务中不需要它。我已经成功地重现了SQL跟踪服务,因为我可以看到工作流和活动状态等,但我也希望看到属性值。
我们正在使用基于MS WF的自己的工作流引擎为文档管理系统(DMS)编写许多工作流。因此,我无法更改工作流运行时(如果需要)。该解决方案必须使用底层Microsoft工作流运行时的嵌入式功能。
我们的工作流通常通过我们编写的自定义活动进行数据库查找。然后将这些查找值传递给程序流的其他活动或者持久存储到DMS中。如果我们能够看到这些查找值在运行时是什么以及实际上是DMS自己的活动属性的值,那将会很棒。
答案 0 :(得分:0)
根据我对MS工作流程的了解(肯定是有限的),正确的方法是从工作流程内向您的跟踪服务发布更新 - 即,如果您的工作流程采取了一些步骤,它应该转到跟踪服务并说“我做了X“。您的跟踪服务可以记录此信息,以回答有关工作流程执行情况的任何后续查询(以及当时各种属性值的内容)。
关键是WF引擎对于运行工作流程非常有用 - 但不是很擅长报告这些工作流程的进度。
如果您对WF引擎有一定的控制权(您说它“基于MS WF”),那么一个选项可能是让您的WF引擎为所有工作流程发布此类更新。这可能允许您在实际工作流程定义中放弃显式更新。但是,如果你真的无法对引擎进行任何更改,那么这将无法正常工作。