我们目前正试图在我们的产品(.NET 4.5)中实现工作流功能。为此,我们考虑使用Microsoft Workflow Foundation 4.5。然而,在这个早期阶段,我们遇到了一个似乎非常可行的技术问题。
简单地说,这就是我们希望在客户机/服务器设置中实现的目标:
对于我所理解的,“正常”工作流没有接收消息的端点。另一方面,工作流服务是这样的,但是使用WF服务,工作流实例将基于传入的请求创建,而不是让服务器控制工作流的创建(对吗?)
此时此刻,我觉得我们需要一个工作流和一个工作流服务的组合。
我已经挣扎了一段时间,到处搜索,但找不到有用的信息。
我想我们有两个选择:
我的问题是:是否有人对如何解决上述问题有一些有用的指导或信息?是否有有趣的替代方案(不使用WF?)来完成这个任务吗?有人有关于WCF消息如何在WF中被路由到正确的工作流实例的文档吗?
PS:我们在客户端有一个WCF服务。工作流可以与之进行通信。简而言之,运行请求并不是一个问题,但问题是,在客户端“回答”请求之前,请求可能需要很长时间。此外,只有当用户单击“继续”按钮时,客户端才能请求该信息(由于服务器需要信息,用户不应在某件事情的中间获得弹出)。
发布于 2013-08-06 14:41:25
是的,使用AppFabric的工作流服务是理想的,如果我正确理解您的问题,就应该立即开始工作。
对于您的问题,“然而,客户端如何与该特定工作流进行通信?”答案是相关性,您可以轻松地在第一次接收中设置它。您只需添加一个CorrelationHandle变量并为传入参数设置接收的CorrelatesOn (ownerid?)和CorrelatesWith到那个手柄。对所有其他接收进行同样的操作,传入的消息将始终被路由到正确的实例。
AppFabric将帮助您从内存中卸载WF服务,并在空闲时间过长时持久化,在新接收时唤醒等等。它还将有助于在您的IIS应用程序池中设置自动启动。将在收到请求时激活您的工作流服务。
如果你需要更多的具体细节,请告诉我。
https://stackoverflow.com/questions/17876787
复制相似问题