WF4:工作流服务停止接受新请求

时间:2011-09-13 23:11:52

标签: workflow-foundation workflow-foundation-4 workflowservice

我通过 WorkflowServiceHost 类托管一个小工作流程。

using (WorkflowServiceHost wfHost = new WorkflowServiceHost(new QueueWorkflow(), new Uri("net.pipe://localhost/workflow")))
{
    wfHost.Open();
    Console.ReadLine();
}

此工作流通过使用Receive活动的传入WCF调用(当前为NetPipe绑定)启动,进入自定义活动执行某些操作,然后创建书签并进入空闲状态(不卸载)。

所有这些在开始时都运行良好,但是当我将负载测试仪设置为启动1000个工作流时,928个工作流实例开始并继续创建其书签,剩下的72个块在WCF或Receive活动中。

  • 测试始终在 928 工作流程实例处停止。 (可能是工作流内存限制?)
  • 恢复其中一个工作流程并允许其运行至完成状态允许阻止的启动请求列表中的下一个工作流程开始。

任何想法都非常感激。

1 个答案:

答案 0 :(得分:1)

我怀疑serviceThrottling正在这里发挥作用。它不仅影响WCF,还与WF4运行时一起使用。尝试更改设置以查看它是否有所作为。

请参阅here我写的关于它的博文。