ReliableSession.InactivityTimeout Propriété

Définition

Obtient ou définit un intervalle de temps pendant lequel un service peut rester inactif avant sa fermeture.

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

Valeur de propriété

TimeSpan

TimeSpan qui spécifie l'intervalle de temps pendant lequel un service reste inactif avant sa fermeture. La valeur par défaut est 10 minutes.

Exceptions

La valeur définie est inférieure ou égale à zéro.

Exemples

// Create a new reliable session object
ReliableSessionBindingElement bindingElement = new ReliableSessionBindingElement();
ReliableSession reliableSession = new ReliableSession(bindingElement);

// Now you can access property values
Console.WriteLine("Ordered: {0}", reliableSession.Ordered);
Console.WriteLine("InactivityTimeout: {0}", reliableSession.InactivityTimeout);
' Create a new reliable session object
Dim bindingElement As ReliableSessionBindingElement = New ReliableSessionBindingElement()
Dim reliableSession As ReliableSession = New ReliableSession(bindingElement)

' Now you can access property values
Console.WriteLine("Ordered: {0}", reliableSession.Ordered)
Console.WriteLine("InactivityTimeout: {0}", reliableSession.InactivityTimeout)

Remarques

La propriété obtient et définit la valeur de la propriété InactivityTimeout.

L'activité sur un canal est définie telle que la réception d'un message d'application ou d'infrastructure. La propriété de délai d'inactivité contrôle la durée maximale de maintien d'une session inactive en activité. Si un délai supérieur à InactivityTimeout s'écoule sans activité, la session est abandonnée par l'infrastructure et une erreur est retournée sur le canal. La session fiable est détruite unilatéralement.

Si l'application émettrice n'a pas de messages à envoyer, la session fiable ne retourne aucune erreur due à l'inactivité ; un mécanisme d'activation la maintient au contraire active indéfiniment. Notez que le répartiteur peut abandonner la session fiable de façon indépendante si aucun message d'application n'est envoyé ou reçu. Ainsi, le délai d'attente d'inactivité expire en général si les conditions du réseau sont telles qu'aucun message n'est reçu ou en cas d'échec au niveau de l'expéditeur.

La définition de ce délai d'attente empêche le serveur de maintenir une session de sécurité active si le client ne le ferme pas. Si la session de sécurité ne reçoit pas de message concernant le délai d'inactivité, le serveur la ferme. Cela limite le risque d'attaque par déni de service.

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.

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. 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.

S’applique à