2011-08-16 11 views
3

これは非常に興味深い問題です。私は外部からのメッセージを受信し、その子アクティビティで処理するアクティビティを作成しています。私は、アクティビティのブックマークを作成して待機します。新しいメッセージが来たら、私はWorkflowHostingEndpointを使ってブックマークを再開し、それを処理します。最後にもう一度ブックマークを作成し、別の新しいメッセージが来るのを待ちます。しかし、問題は次のとおりです。これは64メッセージを処理するまではうまく動作します(何回か試してみたが、常に64回の処理が失敗した)。その後、すべてのResumeBookmark呼び出しがタイムアウト例外で終了します。 WorkflowApplicationを使用して自分のアクティビティをホストしようとしましたが、正常に動作します。私はむしろ有益な答えで感謝しています。ありがとう。WF4.0:ResumeBookmarkタイムアウトはWorkflowHostingEndpointを使用して64回成功した試行後

+0

コードの一部を共有すると便利です。 – Maurice

答えて

0

メッセージごとに追加インスタンスを開始する可能性があります。一度にアクティブなインスタンスの最大数には制限があります。制限に達すると、別のインスタンスに対するリクエストは、制限に達しなくなるまで待機しますが、これが発生する前にタイムアウトが発生します。

デフォルト値は、使用しているプロセッサの数によって異なります。

あなたのアプリ/ web.configファイルに制限を変更可能性があります

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

詳細についてはServiceThrottling on MSDNを参照してください。

関連する問題