0

我通过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 个工作流实例处停止。(可能是工作流内存限制?)
  • 恢复其中一个工作流并允许它运行到完成允许阻止的启动请求列表中的下一个工作流开始。

任何想法都非常感谢。

4

1 回答 1

1

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

请参阅此处查看我写的关于它的博客文章。

于 2011-09-22T07:25:26.983 回答