我正在研究使用.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跟踪示例