ServiceThrottlingBehavior.MaxConcurrentInstances ServiceThrottlingBehavior.MaxConcurrentInstances ServiceThrottlingBehavior.MaxConcurrentInstances ServiceThrottlingBehavior.MaxConcurrentInstances Property

定義

同時に実行できるサービス内の InstanceContext オブジェクトの最大数を指定する値を取得または設定します。Gets or sets a value that specifies the maximum number of InstanceContext objects in the service that can execute at one time.

public:
 property int MaxConcurrentInstances { int get(); void set(int value); };
public int MaxConcurrentInstances { get; set; }
member this.MaxConcurrentInstances : int with get, set
Public Property MaxConcurrentInstances As Integer

プロパティ値

任意の一時点におけるサービス内の InstanceContext オブジェクトの最大数。The maximum number of InstanceContext objects in the service at one time. 既定値は、の値MaxConcurrentSessionsとのMaxConcurrentCalls値の合計です。The default is the sum of the value of MaxConcurrentSessions and the value of MaxConcurrentCalls.

例として、ServiceThrottlingBehaviorMaxConcurrentSessions、および MaxConcurrentCalls の各プロパティを 1 に設定するアプリケーション構成ファイルから MaxConcurrentInstances を使用する方法を次のコード例に示します。The following code example shows the use of ServiceThrottlingBehavior from an application configuration file that sets the MaxConcurrentSessions, MaxConcurrentCalls and MaxConcurrentInstances properties to 1 as an example. 特定のアプリケーションで最適な設定については、実際の動作から判断します。Real-world experience determines what the optimal settings are for any particular application.

<configuration>
  <appSettings>
    <!-- use appSetting to configure base address provided by host -->
    <add key="baseAddress" value="http://localhost:8080/ServiceMetadata" />
  </appSettings>
  <system.serviceModel>
    <services>
      <service 
        name="Microsoft.WCF.Documentation.SampleService"
        behaviorConfiguration="Throttled" >
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/SampleService"/>
          </baseAddresses>
        </host>
        <endpoint
          address=""
          binding="wsHttpBinding"
          contract="Microsoft.WCF.Documentation.ISampleService"
         />
        <endpoint
          address="mex"
          binding="mexHttpBinding"
          contract="IMetadataExchange"
         />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior  name="Throttled">
          <serviceThrottling 
            maxConcurrentCalls="1" 
            maxConcurrentSessions="1" 
            maxConcurrentInstances="1"
          />
          <serviceMetadata 
            httpGetEnabled="true" 
            httpGetUrl=""
          />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

注釈

MaxConcurrentInstances プロパティは、サービス内の InstanceContext オブジェクトの最大数を表します。The MaxConcurrentInstances property specifies the maximum number of InstanceContext objects in the service. MaxConcurrentInstances プロパティおよび InstanceContextMode プロパティの間の関係を覚えておくことは重要です。It is important to keep in mind the relationship between the MaxConcurrentInstances property and the InstanceContextMode property. InstanceContextModePerSession の場合、得られる値はセッションの合計数です。If InstanceContextMode is PerSession, the resulting value is the total number of sessions. InstanceContextModePerCall の場合、得られる値は同時呼び出し数です。If InstanceContextMode is PerCall, the resulting value is the number of concurrent calls. InstanceContext オブジェクトの数が最大数に達しているときに受信したメッセージは、1 つの InstanceContext オブジェクトを閉じるまで保留されます。If a message arrives while the maximum number of InstanceContext objects already exist, the message is held until an InstanceContext object closes.

この属性の値は、アプリケーション構成ファイルの <servicethrottling> 要素を使用して設定することもできます。You can also set the values of this attribute by using the <serviceThrottling> element in an application configuration file.

適用対象