Partager via


<serviceThrottling>

Spécifie le mécanisme de limitation de requêtes d'un service Windows Communication Foundation (WCF).

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior> de <serviceBehaviors>
        <serviceThrottling>

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

Attributs et éléments

Attributs

Attribut Description

maxConcurrentCalls

Entier positif qui limite le nombre de messages actuellement traités dans ServiceHost. Une fois cette limite atteinte, les appels sont mis en file d'attente. Affecter 0 à cette valeur équivaut à lui affecter la valeur Int32.MaxValue. La valeur par défaut est 16.

maxConcurrentInstances

Entier positif qui limite le nombre d'objets InstanceContext exécutés à un moment donné sur ServiceHost. Les demandes de création d'instances supplémentaires sont mises en file d'attente et traitées lorsqu'un emplacement se libère. La valeur par défaut est Int32.MaxValue.

maxConcurrentSessions

Entier positif qui limite le nombre de sessions qu'un objet ServiceHost peut accepter.

Le service acceptera des connexions une fois la limite atteinte, mais seuls les canaux ne dépassant pas la limite seront actifs (les messages seront lus à partir du canal). Affecter 0 à cette valeur équivaut à lui affecter la valeur Int32.MaxValue. La valeur par défaut est 10.

Éléments enfants

Aucun.

Éléments parents

Élément Description

<behavior> de <endpointBehaviors>

Spécifie un élément de comportement.

Notes

Les contrôles de limitation de requêtes limitent le nombre d'appels, d'instances ou de sessions simultanés pour empêcher une surconsommation des ressources.

Un suivi est écrit à chaque fois que la valeur des attributs est atteinte. Le premier suivi est écrit en tant qu'avertissement.

Exemple

L'exemple de configuration suivant spécifie que le service restreint le nombre maximum d'appels simultanés à 2 et le nombre maximal d'instances simultanées à 10. Pour obtenir un exemple détaillé de l'exécution de cet exemple, consultez Throttling.

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

Voir aussi

Référence

ServiceThrottlingBehavior
ServiceThrottlingElement

Autres ressources

Using ServiceThrottlingBehavior to Control WCF Service Performance