0

我正在通過WorkflowServiceHost類承載一個小工作流。WF4:工作流服務停止接受新請求

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

該工作流經來電呼叫WCF(目前NetPipe結合)使用Receive活動,進行到自定義活動做了一些工作,然後創建一個書籤,並進入空閒狀態(不卸載)開始。

所有這些在開始時都運行良好,但是當我將負載測試儀設置爲啓動1000個工作流時,928個工作流實例啓動並繼續創建其書籤,剩餘的72個塊在WCF或Receive活動中。

  • 測試總是停止在工作流實例。 (工作流內存限制可能是?)
  • 恢復其中一個工作流程並允許其運行到完成狀態,允許開始阻止的啓動請求列表中的下一個工作流程。

任何想法非常感謝。

回答

1

我懷疑serviceThrottling在這裏扮演一個角色。它不僅影響WCF,還用於WF4運行時。嘗試改變設置,看看它是否有所作爲。

查看here我寫了一篇博客文章。

+0

這是正確的。將ServiceThrottlingBehavior添加到服務主機並增加MaxConcurrentInstances屬性可解決問題。 – BBoy