ReliableSession.InactivityTimeout Eigenschap

Definitie

Hiermee kunt u een tijdsinterval instellen of instellen dat een service inactief kan blijven voordat u afsluit.

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

Waarde van eigenschap

Hiermee TimeSpan geeft u het tijdsinterval op dat een service inactief blijft voordat deze wordt gesloten. De standaardwaarde is 10 minuten.

Uitzonderingen

De waardeset is kleiner dan of gelijk aan nul.

Voorbeelden

// 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)

Opmerkingen

De eigenschap wordt opgehaald en stelt de waarde van de InactivityTimeout eigenschap in.

Activiteit op een kanaal wordt gedefinieerd als het ontvangen van een toepassing of infrastructuurbericht. De time-outeigenschap voor inactiviteit bepaalt de maximale tijdsduur om een inactieve sessie actief te houden. Als meer dan het InactivityTimeout opgegeven tijdsinterval zonder activiteit wordt doorgegeven, wordt de sessie afgebroken door de infrastructuur en de kanaalfouten. De betrouwbare sessie wordt eenzijdig afgebroken.

Als de verzendende toepassing geen berichten heeft om te verzenden, wordt de betrouwbare sessie normaal gesproken niet veroorzaakt door inactiviteit; in plaats daarvan houdt een keep-alive mechanisme de sessie voor onbepaalde tijd actief. Houd er rekening mee dat de dispatcher de betrouwbare sessie onafhankelijk kan afbreken als er geen toepassingsberichten worden verzonden of ontvangen. De time-out voor inactiviteit verloopt dus meestal als netwerkvoorwaarden zodanig zijn dat er geen berichten van een soort worden ontvangen of als er een fout optreedt bij de afzender.

Als u deze time-out instelt, voorkomt u dat de server vasthoudt aan een beveiligingssessie als de client deze niet sluit. Als de beveiligingssessie geen bericht heeft ontvangen voor het inactiviteitsinterval van de tijd, wordt deze gesloten door de server. Dit vermindert een mogelijke Denial of Service-aanval.

Wanneer u een betrouwbare sessie gebruikt, zijn er twee verschillende timers voor inactiviteit die moeten worden voldaan om de verbinding actief te houden. Als een van deze timers voor inactiviteit uitvalt, wordt de verbinding verbroken.

  • De eerste inactiviteittimer bevindt zich op de betrouwbare sessie en wordt de InactivityTimeout. Deze timer voor inactiviteit wordt geactiveerd als er geen berichten, toepassing of infrastructuur, worden ontvangen binnen de time-outperiode. Een infrastructuurbericht is een bericht dat wordt gegenereerd voor het doel van een van de protocollen in de kanaalstack, zoals een keep alive of een bevestiging, in plaats van toepassingsgegevens te bevatten.

  • De tweede timer voor inactiviteit bevindt zich in de service en gebruikt de ReceiveTimeout instelling van de binding. Deze timer voor inactiviteit wordt geactiveerd als er geen toepassingsberichten worden ontvangen binnen de time-outperiode.

Omdat de verbinding wordt verbroken als een van de timers voor inactiviteit wordt geactiveerd, neemt deze toe InactivityTimeout zodra deze groter is dan ReceiveTimeout geen effect heeft. De standaardinstelling voor beide time-outs is 10 minuten, dus u moet beide altijd verhogen om een verschil te maken bij het gebruik van een betrouwbare sessie.

Van toepassing op