Partager via


ServiceThrottlingBehavior.MaxConcurrentCalls Propriété

Définition

Obtient ou définit une valeur qui spécifie le nombre maximal de messages activement en cours de traitement dans ServiceHost.

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

Valeur de propriété

Limite supérieure de messages actifs dans le service. La valeur par défaut est 16 fois le nombre de processeurs.

Exemples

L'exemple de code suivant illustre l'utilisation de ServiceThrottlingBehavior à partir d'un fichier de configuration de l'application qui affecte aux propriétés MaxConcurrentSessions, MaxConcurrentCalls et MaxConcurrentInstances la valeur 1 en guise d'exemple. L'expérience détermine les paramètres optimaux pour toute application particulière.

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

Remarques

La propriété MaxConcurrentCalls spécifie le nombre maximal de messages activement en cours de traitement dans un objet ServiceHost. Chaque canal peut avoir un message en attente qui n’est pas comptabilisé par rapport à la valeur de MaxConcurrentCalls jusqu’à ce que Windows Communication Foundation (WCF) commence à le traiter.

Vous pouvez également définir les valeurs de cet attribut à l’aide de l’élément <serviceThrottling> dans un fichier de configuration d’application.

Avertissement

MaxConcurrentCalls doit être défini sur une taille inférieure à la taille du pool de connexions SQL dans les scénarios mis en file d’attente.

S’applique à