Workflow Service使用Receive
活动消耗用户输入。 Workflow
使用Workflow中嵌入的业务逻辑从调用者那里获取数据。除了一个例外,这听起来很棒。调用者如何知道下一个工作流步骤应该是什么?
例如,我们有文档处理Workflow
。
当文档进入系统时,将创建新的Workflow实例。
创建后,文档可以由不同的管理者验证,发送附加信息请求,已审核,已关闭,已取消,已合并等。可能的操作顺序存储在工作流程中。操作在Workflow之外执行,并通过多个已发布的Receive
活动传达给工作流。这些Receive
操作的顺序在工作流内(实际上是工作流程)。
逻辑可能因部门而异。因此,我们不希望在工作流程之外对其进行硬编码。
现在文档处理处于以下状态:
Receive
活动Workflow
做了一些工作,现在坚持了Receive
活动问题是外部代码如何知道该操作是什么以及应该调用Receive
端点等待的内容?
有没有简单的方法可以询问Workflow在GUI中使用该信息的后续步骤是什么?
答案 0 :(得分:1)
以下是Ron Jacobs的一篇博客文章,它将指导您完成WF 4的注册 - 这将为您提供构建所需内容所需的基础。
编辑以更好地解决“了解下一个州”的问题。
好的,没有办法查询工作流程,主要原因是工作流服务在WSH上运行,当它点击新书签时它就闲置了(你永远不知道在哪里它真的在运行)。因此,您最好的选择是在空闲之前发布该信息,我建议通过回复将其发布给调用者,因为这是UX响应的理想时间。
编辑提供的链接可能是您正在寻找的“神奇”。
这是@RonJacobs关于第9频道的视频 - 这家伙真的很棒,因为他为开发人员工作非常努力 - 我认为这可能是你正在寻找的魔力。但是,它可能需要您更新您正在使用的版本,但它可能不会。如果您还没有,您可能还需要获取Microsoft.Activities.Extensions NuGet包。我已经使用他的自定义跟踪机制进行单元测试,但不是这样。让我知道你发现了什么!
http://channel9.msdn.com/Shows/Workflow-TV/Workflow-TV-Tracking-StateMachines