这是一个非常有趣的问题:我正在编写一个活动来接收来自外部的消息并处理其子活动。我在活动中创建一个书签等待。当有新消息时,我将使用WorkflowHostingEndpoint恢复书签并处理它。最后再次创建书签以等待另一个新的消息。但问题是:这个工作正常,直到我处理了64条消息(我试过几次,总是64次好处理然后失败)。之后,所有ResumeBookmark调用都将以Timeout异常结束。我尝试使用WorkflowApplication来托管我的活动,它运行正常。我很欣赏任何有用的答案。谢谢。
答案 0 :(得分:0)
可能是因为您为每条消息启动了其他实例?一次最大活动实例数有限制。如果达到限制,您对另一个实例的请求将等待,直到不再达到限制,但在此之前您会收到超时。
默认值取决于您拥有的处理器数量。
您可以修改app / web.config中的限制:
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<serviceThrottling maxConcurrentCalls="16" maxConcurrentInstances="1000"/>
</behavior>
</serviceBehaviors>
</behaviors>
有关详细信息,请参阅ServiceThrottling on MSDN。