Partager via


ServiceThrottlingBehavior Classe

Définition

Configure les paramètres de débit d'exécution qui permettent de régler les performances du service.

public ref class ServiceThrottlingBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceThrottlingBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceThrottlingBehavior = class
    interface IServiceBehavior
Public Class ServiceThrottlingBehavior
Implements IServiceBehavior
Héritage
ServiceThrottlingBehavior
Implémente

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

Utilisez la classe ServiceThrottlingBehavior pour déterminer divers paramètres de débit qui empêchent les insuffisances de mémoire pour votre application.

La propriété MaxConcurrentCalls limite le nombre de messages actuellement traités sur ServiceHost.

La propriété MaxConcurrentInstances limite le nombre d'objets InstanceContext exécutés à un moment donné sur ServiceHost.

La propriété MaxConcurrentSessions limite le nombre de sessions qu'un objet ServiceHost peut accepter.

Étant donné que l'équilibrage de charge à l'exécution nécessite de l'expérience en matière d'exécution de l'application, l'utilisation de ServiceThrottlingBehavior dans un fichier de configuration de l'application est la méthode la plus courante pour modifier l'exécution afin d'optimiser les performances du service.

Notes

Un suivi est écrit à chaque fois que la valeur de ces propriétés est atteinte. Le premier suivi est écrit en tant qu'avertissement.

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

Constructeurs

ServiceThrottlingBehavior()

Initialise une nouvelle instance de la classe ServiceThrottlingBehavior.

Propriétés

MaxConcurrentCalls

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

MaxConcurrentInstances

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.

MaxConcurrentSessions

Obtient ou définit une valeur qui spécifie le nombre maximal de sessions qu'un objet ServiceHost peut accepter à la fois.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Configure les liaisons pour la prise en charge du comportement du service.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Configure le service pour la prise en charge du comportement du service.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Confirme que le service et l'hôte peuvent prendre en charge le comportement du service.

S’applique à