ServiceThrottlingBehavior Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |