Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Binding.ReceiveTimeout propriété

 

Date de publication : novembre 2016

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.

Espace de noms:   System.ServiceModel.Channels
Assembly:  System.ServiceModel (dans System.ServiceModel.dll)

public TimeSpan ReceiveTimeout { get; set; }

Valeur de propriété

Type: System.TimeSpan

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.

Exception Condition
ArgumentOutOfRangeException

La valeur est soit inférieure à zéro soit trop élevée.

Dans le cas d'une session fiable, deux minuteries d'inactivité sont à satisfaire pour laisser la connexion active. Si l'une ou l'autre de ces minuteries d'inactivité arrive à son terme, la connexion est abandonnée.

  • La première, InactivityTimeout, s'applique à la session fiable. Elle se déclenche si aucun message, d'application ou d'infrastructure, n'est reçu dans le temps d'attente imparti. 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.

  • La deuxième minuterie d'inactivité s'applique au service et utilise le paramètre ReceiveTimeout de la liaison. Cette minuterie se déclenche si aucun message d'application n'est reçu dans le délai d'attente. 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. Cela permet de s'assurer que les clients ne peuvent pas accaparer des ressources serveur pendant des périodes longues et injustifiées.

Après l'abandon 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. 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.

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é. De ce cas, l'opération échoue en raison du délai d'attente périmé et la transaction abandonne convenablement.

Lorsque la sécurité est utilisée avec les sessions, les ReceiveTimeout valeur définie sur la liaison est également utilisée en tant que le délai d’expiration de session.

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 3.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: