Binding.ReceiveTimeout Binding.ReceiveTimeout Binding.ReceiveTimeout Binding.ReceiveTimeout Property

Définition

Obtient ou définit la durée d’inactivité d’une connexion. Si aucun message d’application n’est reçu pendant ce laps de temps, la connexion est abandonnée.Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

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

Valeur de propriété

TimeSpan qui indique le délai d'attente de réception d'un message par l'application. La valeur par défaut est 10 minutes.The TimeSpan that specifies how long the application has to receive a message before timing out. The default value is 10 minutes.

Exceptions

La valeur est soit inférieure à zéro soit trop élevée.The value is less than zero or too large.

Remarques

Dans le cas d'une session fiable, deux minuteries d'inactivité sont à satisfaire pour laisser la connexion active.When using a reliable session, there are two different inactivity timers that must be satisfied to keep the connection alive. Si l’une ou l’autre de ces minuteries d’inactivité arrive à son terme, la connexion est abandonnée.If either of these inactivity timers goes off, then the connection is dropped.

  • La première, InactivityTimeout, s'applique à la session fiable.The first inactivity timer is on the reliable session and is called the InactivityTimeout. Elle se déclenche si aucun message, d'application ou d'infrastructure, n'est reçu dans le temps d'attente imparti.This inactivity timer fires if no messages, either application or infrastructure, are received within the timeout period. Un message d'infrastructure est un message généré pour les besoins de l'un des protocoles dans la pile du canal, tel qu'un message de maintien de l'activité ou un accusé de réception, par opposition aux messages incluant des données d'application.An infrastructure message is a message that is generated for the purpose of one of the protocols in the channel stack, such as a keep alive or an acknowledgment, rather than containing application data.

  • La deuxième minuterie d’inactivité s’applique au service et utilise le paramètre ReceiveTimeout de la liaison.The second inactivity timer is on the service and uses the ReceiveTimeout setting of the binding. Cette minuterie se déclenche si aucun message d'application n'est reçu dans le délai d'attente.This inactivity timer fires if no application messages are received within the timeout period. Elle indique par exemple la durée limite d'un client pour envoyer au moins un message au serveur avant que ce dernier ferme le canal utilisé par une session.This specifies, for example, the maximum time a client may take to send at least one message to the server before the server will close the channel used by a session. Cela permet de s'assurer que les clients ne peuvent pas accaparer des ressources serveur pendant des périodes longues et injustifiées.This behavior ensures that clients cannot hold on to server resources for arbitrary long periods.

Après la perte de la connexion suite au déclenchement de l’une des minuteries d’inactivité, augmenter InactivityTimeout une fois qu’il a dépassé le délai ReceiveTimeout n’a aucun effet.Since the connection is dropped if either inactivity timer fires, increasing InactivityTimeout once it is greater than ReceiveTimeout has no effect. La valeur par défaut de ces deux délais est de 10 minutes. Vous devez par conséquent toujours modifier ces deux paramètres pour constater les effets du changement en cas d'utilisation d'une session fiable.The default for both of these timeouts is 10 minutes, so you always have to increase both of them to make a difference when using a reliable session.

Si le flux de transaction est activé sur la liaison ou le canal, la durée d'exécution de l'opération peut être plus longue que le délai d'attente spécifié.If transaction flow is enabled on the binding or the channel, the operation may take longer to execute than the specified timeout. De ce cas, l'opération échoue en raison du délai d'attente périmé et la transaction abandonne convenablement.In these circumstances the operation fails due to the expired timeout and the transaction aborts appropriately.

Lorsque la sécurité est utilisée avec les sessions, la valeur ReceiveTimeout définie sur la liaison est également utilisée comme délai d’expiration de session.When security is used with sessions, the ReceiveTimeout value set on the binding is also used as the session timeout.

S’applique à