ServiceThrottlingBehavior ServiceThrottlingBehavior ServiceThrottlingBehavior ServiceThrottlingBehavior Class

定義

サービス パフォーマンスを調整できるようにするランタイム スループット設定を構成します。Configures run-time throughput settings that enable you to tune service performance.

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
継承
ServiceThrottlingBehaviorServiceThrottlingBehaviorServiceThrottlingBehaviorServiceThrottlingBehavior
実装

例として、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>

注釈

ServiceThrottlingBehavior クラスを使用して、アプリケーションのメモリ不足を防ぐためのさまざまなスループット設定を制御します。Use the ServiceThrottlingBehavior class to control various throughput settings that help prevent your application from running out of memory.

MaxConcurrentCalls プロパティは、ServiceHost で同時に処理できるメッセージの数を制限します。The MaxConcurrentCalls property limits the number of messages that currently process across a ServiceHost.

MaxConcurrentInstances プロパティは、InstanceContext で同時に実行できる ServiceHost オブジェクトの数を制限します。The MaxConcurrentInstances property limits the number of InstanceContext objects that execute at one time across a ServiceHost.

MaxConcurrentSessions プロパティは、ServiceHost オブジェクトが受け入れ可能なセッションの数を制限します。The MaxConcurrentSessions property limits the number of sessions a ServiceHost object can accept.

実行時の負荷分散にはアプリケーションの実行エクスペリエンスが必要なため、サービスのパフォーマンスを最大化するために実行を変更する場合は、アプリケーション構成ファイルから ServiceThrottlingBehavior を使用する方法が最も一般的です。Because run-time load balancing requires experience running the application, using the ServiceThrottlingBehavior through an application configuration file is the most common method of modifying execution to maximize service performance.

注意

これらのプロパティの値に到達するたびにトレースが出力されます。A trace is written every time the value of these properties is reached. 最初のトレースは警告として出力されます。The first trace is written as a warning.

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

コンストラクター

ServiceThrottlingBehavior() ServiceThrottlingBehavior() ServiceThrottlingBehavior() ServiceThrottlingBehavior()

ServiceThrottlingBehavior クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceThrottlingBehavior class.

プロパティ

MaxConcurrentCalls MaxConcurrentCalls MaxConcurrentCalls MaxConcurrentCalls

ServiceHost でアクティブに処理されるメッセージの最大数を指定する値を取得または設定します。Gets or sets a value that specifies the maximum number of messages actively processing across a ServiceHost.

MaxConcurrentInstances MaxConcurrentInstances MaxConcurrentInstances MaxConcurrentInstances

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

MaxConcurrentSessions MaxConcurrentSessions MaxConcurrentSessions MaxConcurrentSessions

ServiceHost オブジェクトが同時に受け入れ可能なセッションの最大数を指定する値を取得または設定します。Gets or sets a value that specifies the maximum number of sessions a ServiceHost object can accept at one time.

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

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

バインディングを、サービスの動作をサポートするように構成します。Configures the bindings to support the service behavior.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

サービスを、サービスの動作をサポートするように構成します。Configures the service to support the service behavior.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

サービスおよびホストがサービスの動作をサポートできることを検証します。Validates that the service and host can support the service behavior.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象