WF4.0:使用WorkflowHostingEndpoint成功试用64次后恢复书签超时

时间:2011-08-16 03:13:56

标签: workflow-foundation-4 bookmarks

这是一个非常有趣的问题:我正在编写一个活动来接收来自外部的消息并处理其子活动。我在活动中创建一个书签等待。当有新消息时,我将使用WorkflowHostingEndpoint恢复书签并处理它。最后再次创建书签以等待另一个新的消息。但问题是:这个工作正常,直到我处理了64条消息(我试过几次,总是64次好处理然后失败)。之后,所有ResumeBookmark调用都将以Timeout异常结束。我尝试使用WorkflowApplication来托管我的活动,它运行正常。我很欣赏任何有用的答案。谢谢。

1 个答案:

答案 0 :(得分:0)

可能是因为您为每条消息启动了其他实例?一次最大活动实例数有限制。如果达到限制,您对另一个实例的请求将等待,直到不再达到限制,但在此之前您会收到超时。

默认值取决于您拥有的处理器数量。

您可以修改app / web.config中的限制:

<behaviors> 
  <serviceBehaviors> 
    <behavior name="CalculatorServiceBehavior">
      <serviceThrottling maxConcurrentCalls="16" maxConcurrentInstances="1000"/> 
    </behavior>
  </serviceBehaviors>
</behaviors>

有关详细信息,请参阅ServiceThrottling on MSDN