Partager via


ServiceThrottle.MaxConcurrentInstances Propriété

Définition

Obtient ou définit le nombre maximal d'objets de service qui peuvent s'exécuter en même temps.

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 correspond au total du nombre maximal d'appels simultanés et du nombre maximal de sessions simultanées.

Exemples

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. Dans ce cas, les valeurs spécifiées établissent, au plus, un traitement de message à la fois à partir d'une connexion à un InstanceContext. L'utilisation réelle doit être déterminée avec l'expérience.

<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 la valeur résultante est PerSession 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.

Notes

Un suivi est écrit à chaque fois que la valeur de cette propriété est dépassée. Le premier suivi est écrit en tant qu'avertissement.

S’applique à