保存WF状态机的状态转换历史记录



我正在研究使用.NET 4.5 Workflow Foundation来实现某些对象的状态机。我想知道如何保存状态之间转换的历史。我会使用持久性,但我的理解是,这只是跟踪当前状态,而不是转换的历史,当达到终端状态时,它会被删除。

具体来说,我正在寻找以下内容:

Sequence  Date         Original State   Action      New State    Actor
--------  -----------  ---------------  ----------  -----------  ---------
1         12/25/2013   <none>           <none>      Draft        bsmith
2         12/27/2013   Draft            Submit      Pending      cjones
3         1/2/2014     Pending          Approve     Published    dkelly

确切的格式有待确定,但如图所示,这显示了对象是如何从一种状态移动到另一种状态的,由谁以及何时移动。

WF如何做到这一点?

我建议您在MSDN上阅读有关工作流跟踪和跟踪的内容,尤其是您希望阅读有关跟踪参与者和自定义跟踪参与者的内容。我相信默认的参与者是windows事件日志。

以下是自定义SQL跟踪参与者的MSDN示例:SQL跟踪示例

最新更新