次の方法で共有


ServiceThrottlingBehavior クラス

定義

サービス パフォーマンスを調整できるようにするランタイム スループット設定を構成します。

public ref class ServiceThrottlingBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceThrottlingBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceThrottlingBehavior = class
    interface IServiceBehavior
Public Class ServiceThrottlingBehavior
Implements IServiceBehavior
継承
ServiceThrottlingBehavior
実装

例として、ServiceThrottlingBehaviorMaxConcurrentSessions、および MaxConcurrentCalls の各プロパティを 1 に設定するアプリケーション構成ファイルから MaxConcurrentInstances を使用する方法を次のコード例に示します。 特定のアプリケーションで最適な設定については、実際の動作から判断します。

<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>

注釈

ServiceThrottlingBehavior クラスを使用して、アプリケーションのメモリ不足を防ぐためのさまざまなスループット設定を制御します。

MaxConcurrentCalls プロパティは、ServiceHost で同時に処理できるメッセージの数を制限します。

MaxConcurrentInstances プロパティは、InstanceContext で同時に実行できる ServiceHost オブジェクトの数を制限します。

MaxConcurrentSessions プロパティは、ServiceHost オブジェクトが受け入れ可能なセッションの数を制限します。

実行時の負荷分散にはアプリケーションの実行エクスペリエンスが必要なため、サービスのパフォーマンスを最大化するために実行を変更する場合は、アプリケーション構成ファイルから ServiceThrottlingBehavior を使用する方法が最も一般的です。

注意

これらのプロパティの値に到達するたびにトレースが出力されます。 最初のトレースは警告として出力されます。

アプリケーション構成ファイルで serviceThrottling> 要素を<使用して、この属性の値を設定することもできます。

コンストラクター

ServiceThrottlingBehavior()

ServiceThrottlingBehavior クラスの新しいインスタンスを初期化します。

プロパティ

MaxConcurrentCalls

ServiceHost でアクティブに処理されるメッセージの最大数を指定する値を取得または設定します。

MaxConcurrentInstances

同時に実行できるサービス内の InstanceContext オブジェクトの最大数を指定する値を取得または設定します。

MaxConcurrentSessions

ServiceHost オブジェクトが同時に受け入れ可能なセッションの最大数を指定する値を取得または設定します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

バインディングを、サービスの動作をサポートするように構成します。

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

サービスを、サービスの動作をサポートするように構成します。

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

サービスおよびホストがサービスの動作をサポートできることを検証します。

適用対象