Utilisation de ServiceThrottlingBehavior pour contrôler les performances du service WCF
La classe ServiceThrottlingBehavior expose les propriétés que vous pouvez utiliser pour limiter le nombre d'instances ou de sessions créées au niveau de l'application. À l'aide de ce comportement, vous pouvez ajuster avec précision les performances de votre application Windows Communication Foundation (WCF).
Contrôle des instances de service et des appels simultanés
Utilisez la propriété MaxConcurrentCalls pour spécifier le nombre maximal des messages en cours de traitement actif dans une classe ServiceHost, et la propriété MaxConcurrentInstances pour spécifier le nombre maximal d'objets InstanceContext dans le service.
Étant donné que la définition des paramètres pour ces propriétés s'effectue généralement après l'exécution en situation réelle de l'application sur des charges, les paramètres pour les propriétés ServiceThrottlingBehavior sont spécifiés en général dans un fichier de configuration de l'application à l'aide de l'élément <serviceThrottling>.
L'exemple de code suivant illustre l'utilisation de la classe 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 simple. L'expérience détermine les paramètres optimaux pour toute application particulière.
Le comportement exact au moment de l'exécution dépend des valeurs des propriétés ConcurrencyMode et InstanceContextMode qui contrôlent le nombre de messages pouvant s'exécuter simultanément dans une opération et les durées de vie du service InstanceContext en fonction des sessions de canal entrantes, respectivement.
Pour plus d'informations, consultez MaxConcurrentCalls et MaxConcurrentInstances.