<serviceThrottling><serviceThrottling>

WCF (Windows Communication Foundation) サービスの調整機構を指定します。Specifies the throttling mechanism of a Windows Communication Foundation (WCF) service.

<configuration> <configuration>
   <System.servicemodel >   <system.serviceModel>
     <動作 >     <behaviors>
       <serviceBehaviors >       <serviceBehaviors>
         <動作 >         <behavior>
           <serviceThrottling >          <serviceThrottling>

構文Syntax

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

属性および要素Attributes and Elements

以降のセクションでは、属性、子要素、および親要素について説明します。The following sections describe attributes, child elements, and parent elements.

属性Attributes

属性Attribute 説明Description
maxConcurrentCallsmaxConcurrentCalls ServiceHost で同時に処理できるメッセージ数を制限する正の整数。A positive integer that limits the number of messages that currently process across a ServiceHost. 制限を超える呼び出しはキューに格納されます。Calls in excess of the limit are queued. この値を 0 に設定することは、Int32.MaxValue に設定することと同じです。Setting this value to 0 is equivalent to setting it to Int32.MaxValue. 既定値は 16 x プロセッサ数です。The default is 16 * processor count.
maxConcurrentInstancesmaxConcurrentInstances InstanceContext で同時に実行できる ServiceHost オブジェクト数を制限する正の整数。A positive integer that limits the number of InstanceContext objects that execute at one time across a ServiceHost. 追加インスタンスの作成要求は、キューに置かれ、制限下のスロットが利用できるようになったときに完了されます。Requests to create additional instances are queued and complete when a slot below the limit becomes available. 既定値は maxConcurrentSessions と MaxConcurrentCalls の合計です。The default is the sum of maxConcurrentSessions and MaxConcurrentCalls
maxConcurrentSessionsmaxConcurrentSessions ServiceHost オブジェクトが受け入れることのできるセッション数を制限する正の整数。A positive integer that limits the number of sessions a ServiceHost object can accept.

サービスは制限を超える接続を受け入れますが、制限内のチャネルだけがアクティブです (メッセージがチャネルから読み取られます)。The service will accept connections in excess of the limit, but only the channels below the limit are active (messages are read from the channel). この値を 0 に設定することは、Int32.MaxValue に設定することと同じです。Setting this value to 0 is equivalent to setting it to Int32.MaxValue. 既定値は 100 x プロセッサ数です。The default is 100 * processor count.

子要素Child Elements

なし。None.

親要素Parent Elements

要素Element 説明Description
<behavior><behavior> 動作の要素を指定します。Specifies a behavior element.

RemarksRemarks

調整コントロールは、同時呼び出し、同時インスタンス、または同時セッションの数を制限して、リソースの過剰消費を防ぎます。Throttling controls place limits on the number of concurrent calls, instances, or sessions to prevent over-consumption of resources.

属性の値に到達するたびにトレースが出力されます。A trace is written every time the value of attributes is reached. 最初のトレースは警告として出力されます。The first trace is written as a warning.

Example

次の構成例では、サービスで同時呼び出しの最大数を 2 に、同時インスタンスの最大数を 10 に制限することを指定しています。The following configuration example specifies that the service limits the maximum concurrent calls to 2, and the maximum number of concurrent instances to 10. この例の実行例の詳細については、「調整」を参照してください。For a detailed example of running this example, see Throttling.

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

関連項目See also