我想知道如何使用工作流服务来实现相同的东西,因为我可以获得 AppFabric 对我的工作流的好处。
这很简单。您将拥有一个读取文件并使用存在的循环活动循环结果的工作流。然后,在循环内,您将通过使用活动调用端点来启动每个记录所需的工作流(“服务”)Send
。
现在,对于作为服务的工作流,您将Receive
在工作流顶部有一个活动,该活动也CanCreateInstance
设置了true
. 之后的一切都Receive
与任何其他工作流程没有什么不同。您可以考虑在此Send
之后立即进行活动,Receive
以让调用者知道该服务已启动。但这不是要求 -Receive
将是必需的,因为它强制 WF 构建工作流以使用WorkflowServiceHost
.
是否有任何其他解决方案来处理批量记录/ID?否则,工作流服务必须被调用 1000 次才能注册工作流实例中的每条记录,这不是一个好的解决方案。
您是否表示 Web 服务器接收 1000 个请求不是一个好的解决方案?考虑一个 IIS 服务器可以处理大约 25-50 个请求的事实,每个时间点,每个核心。现在考虑这样一个事实,即您正在加载工作流的循环在那个时刻的平均值不会超过5,但可能更像是 1 或 2。
我认为 Web 服务器不会成为您的问题。我已经通过一个循环在服务器上启动了 10,000 个工作流,就像您要构建的那样,它并没有出汗。