WCF (Windows Communication Foundation) サービスの調整機構を指定します。
<serviceThrottling maxConcurrentCalls="Integer" maxConcurrentInstances="Integer" maxConcurrentSessions="Integer" />
maxConcurrentCalls
ServiceHost で同時に処理できるメッセージ数を制限する正の整数。制限を超えた呼び出しはキューに置かれます。この値を 0 に設定することは、Int32.MaxValue に設定することと同じです。既定値は 16 です。
maxConcurrentInstances
ServiceHost で同時に実行できる InstanceContext オブジェクト数を制限する正の整数。追加インスタンスの作成要求は、キューに置かれ、制限下のスロットが利用できるようになったときに完了されます。既定は Int32.MaxValue です。
maxConcurrentSessions
ServiceHost オブジェクトが受け入れることのできるセッション数を制限する正の整数。
サービスは制限を超える接続を受け入れますが、制限内のチャネルだけがアクティブです (メッセージがチャネルから読み取られます)。この値を 0 に設定することは、Int32.MaxValue に設定することと同じです。既定値は 10 です。
なし。
<endpointBehaviors> の <behavior>
動作の要素を指定します。
調整コントロールは、同時呼び出し、同時インスタンス、または同時セッションの数を制限して、リソースの過剰消費を防ぎます。
属性の値に到達するたびにトレースが出力されます。最初のトレースは警告として出力されます。
次の構成例では、サービスで同時呼び出しの最大数を 2 に、同時インスタンスの最大数を 10 に制限することを指定しています。この例の実行例の詳細については、「Throttling」を参照してください。
<behaviors> <serviceBehaviors> <behavior name="CalculatorServiceBehavior"> <serviceDebug includeExceptionDetailInFaults="False" /> <serviceMetadata httpGetEnabled="True"/> <!-- Specify throttling behavior --> <serviceThrottling maxConcurrentCalls="2" maxConcurrentInstances="10"/> </behavior> </serviceBehaviors> </behaviors>