0
WorkflowServiceHostクラスを使用して小さなワークフローをホストしています。WF4:ワークフローサービスが新しい要求の受け入れを停止します
using (WorkflowServiceHost wfHost = new WorkflowServiceHost(new QueueWorkflow(), new Uri("net.pipe://localhost/workflow")))
{
wfHost.Open();
Console.ReadLine();
}
このワークフローは、receiveアクティビティを使用して(現在は結合用netpipeは)いくつかの作業を行いカスタムアクティビティに進み、その後、しおりを作成し、(アンロードされない)アイドル状態になっ入ってくるWCF呼び出しによって開始されます。
これはすべてうまくいきましたが、1000のワークフローを開始するように負荷テスターを設定した場合、928のワークフローインスタンスが開始され、ブックマークの作成に続き、残りの72ブロックがWCFまたはReceiveアクティビティ。
- テストは常にワークフローインスタンスで停止します。
- ワークフローの1つを再開して実行を完了させることで、ブロックされた開始要求のリスト内の次のワークフローを開始することができます。
これは正しいです。 ServiceThrottlingBehaviorをサービスホストに追加し、MaxConcurrentInstancesプロパティを増やして問題を解決しました。 – BBoy