我正试图让我的头围绕着WF。我正在使用长期运行的工作流可视化状态机工作流,这些工作流将使用SQL持久性服务存储。
用户可能分配了多个未完成的工作流程。我无法解决两件事。
我是否必须单调(除此之外还有一个更好的词)并迭代它们或者我错过了什么?
答案 0 :(得分:2)
这个问题有多个选项。
工作流本身与您的用户没有任何关系。因为WorkflowFoundation根本不知道您的工作流程是什么。因此,您必须提供其他信息,以便从数据库中恢复用户的工作流程。
第一个选项是使用WF跟踪功能将关联用户存储为跟踪数据库中正在运行的工作流程的第一步。因此,您可以稍后在SQL数据库中查询具有附加指定用户的跟踪记录的所有工作流实例ID。
第二个选项是使用自定义表扩展数据库,该表保存用户与正在运行的工作流ID之间的关系。如果为用户启动了新工作流程,则会填写此表,并且必须在工作流程结束或运行时出现异常时清除相关记录。