<serviceThrottling>

WCF (Windows Communication Foundation) サービスの調整機構を指定します。

configuration
  system.serviceModel
    behaviors
      <serviceBehaviors>
        behavior
          <serviceThrottling>

構文

<serviceThrottling maxConcurrentCalls="Integer"
                   maxConcurrentInstances="Integer"
                   maxConcurrentSessions="Integer" />

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
maxConcurrentCalls ServiceHost で同時に処理できるメッセージ数を制限する正の整数。 制限を超える呼び出しはキューに格納されます。 この値を 0 に設定することは、Int32.MaxValue に設定することと同じです。 既定値は 16 x プロセッサ数です。
maxConcurrentInstances InstanceContext で同時に実行できる ServiceHost オブジェクト数を制限する正の整数。 追加インスタンスの作成要求は、キューに置かれ、制限下のスロットが利用できるようになったときに完了されます。 既定値は maxConcurrentSessions と MaxConcurrentCalls の合計です。
maxConcurrentSessions ServiceHost オブジェクトが受け入れることのできるセッション数を制限する正の整数。

サービスは制限を超える接続を受け入れますが、制限内のチャネルだけがアクティブです (メッセージがチャネルから読み取られます)。 既定値は 100 x プロセッサ数です。

子要素

なし。

親要素

要素 説明
<behavior> 動作の要素を指定します。

解説

調整コントロールは、同時呼び出し、同時インスタンス、または同時セッションの数を制限して、リソースの過剰消費を防ぎます。

属性の値に到達するたびにトレースが出力されます。 最初のトレースは警告として出力されます。

次の構成例では、サービスで同時呼び出しの最大数を 2 に、同時インスタンスの最大数を 10 に制限することを指定しています。 この例の実行例の詳細については、「調整」を参照してください。

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      <serviceDebug includeExceptionDetailInFaults="False" />
      <serviceMetadata httpGetEnabled="True" />
      <!-- Specify throttling behavior -->
      <serviceThrottling maxConcurrentCalls="2"
                         maxConcurrentInstances="10" />
    </behavior>
  </serviceBehaviors>
</behaviors>

関連項目