ServiceThrottle Class

Definition

Contrôle le débit d'un service pour optimiser la disponibilité et les performances.Controls the throughput of a service to optimize availability and performance.

public ref class ServiceThrottle sealed
public sealed class ServiceThrottle
type ServiceThrottle = class
Public NotInheritable Class ServiceThrottle
Inheritance
ServiceThrottle

Examples

L'exemple de code suivant illustre l'utilisation type de la ServiceThrottle en référençant le ServiceThrottlingBehavior dans un fichier de configuration de l'application.The following code example shows the typical use of the ServiceThrottle by referencing the ServiceThrottlingBehavior in an application configuration file. Dans ce cas, les valeurs spécifiées établissent, au plus, un traitement de message à la fois à partir d'une connexion à un InstanceContext.In this case, the values that are specified establish, at most, one message processing at one time from one connection to one InstanceContext. L'utilisation réelle doit être déterminée avec l'expérience.Real-world usage must be determined through experience.

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

Remarks

Utilisez la ServiceThrottle pour régler les caractéristiques de performances d'un service.Use the ServiceThrottle to tune the performance characteristics of a service. La solution la plus simple pour configurer la ServiceThrottle pour un service est d'utiliser le ServiceThrottlingBehavior, en particulier à partir d'un fichier de configuration de l'application.The easiest way to configure the ServiceThrottle for a service is to use the ServiceThrottlingBehavior, especially from an application configuration file.

La propriété MaxConcurrentCalls spécifie le nombre maximal de messages activement en cours de traitement dans l'ensemble des objets de répartiteur dans un objet ServiceHost.The MaxConcurrentCalls property specifies the maximum number of messages actively processing across all the dispatcher objects in a ServiceHost object.

La propriété MaxConcurrentInstances spécifie le nombre maximal d'objets InstanceContext dans le service.The MaxConcurrentInstances property specifies the maximum number of InstanceContext objects in the service.

La propriété MaxConcurrentSessions spécifie le nombre maximal de sessions qu'un ServiceHost peut accepter.The MaxConcurrentSessions property specifies the maximum number of sessions a ServiceHost can accept.

Note

Un suivi est écrit quand le premier appel, InstanceContext ou session est mis en file d'attente.A trace is written when the first call, InstanceContext, or session is queued on the waitlist. Le premier suivi est écrit en tant qu'avertissement.The first trace is written as a warning.

Properties

MaxConcurrentCalls

Obtient ou définit le nombre maximal de messages activement en cours de traitement dans l'ensemble des objets de répartiteur dans un ServiceHost.Gets or sets the maximum number of messages actively processing across all dispatcher objects in a ServiceHost.

MaxConcurrentInstances

Obtient ou définit le nombre maximal d'objets de service qui peuvent s'exécuter en même temps.Gets or sets the maximum number of service objects that can execute at one time.

MaxConcurrentSessions

Obtient ou définit une valeur qui spécifie le nombre maximal de sessions qu'un objet ServiceHost peut accepter à la fois.Gets or sets a value that specifies the maximum number of sessions a ServiceHost object can accept at one time.

Methods

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Applies to