Partager via


ServiceThrottlingBehavior.MaxConcurrentInstances Propriété

Définition

Obtient ou définit une valeur qui spécifie le nombre maximal d'objets InstanceContext dans le service qui peuvent être exécutés à la fois.

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

Valeur de propriété

Int32

Nombre maximal d'objets InstanceContext dans le service à la fois. La valeur par défaut est la somme de la valeur et MaxConcurrentSessions de la valeur de MaxConcurrentCalls.

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é MaxConcurrentInstances spécifie le nombre maximal d'objets InstanceContext dans le service. Il est important de ne pas oublier la relation entre la propriété MaxConcurrentInstances et la propriété InstanceContextMode. Si InstanceContextMode est PerSession, la valeur résultante est le nombre total de sessions. Si InstanceContextMode est PerCall, la valeur résultante est le nombre d'appels simultanés. Si un message arrive alors que le nombre maximal d'objets InstanceContext est déjà atteint, le message est conservé jusqu'à ce qu'un objet InstanceContext se ferme.

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

S’applique à