ReliableSession.InactivityTimeout Egenskap

Definition

Hämtar eller anger ett tidsintervall som en tjänst kan vara inaktiv innan den stängs.

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

Egenskapsvärde

Det TimeSpan som anger det tidsintervall som en tjänst förblir inaktiv innan den stängs. Standardvärdet är 10 minuter.

Undantag

Värdeuppsättningen är mindre än eller lika med noll.

Exempel

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

Kommentarer

Egenskapen hämtar och anger värdet för InactivityTimeout egenskapen.

Aktivitet på en kanal definieras som att ta emot ett program- eller infrastrukturmeddelande. Egenskapen timeout för inaktivitet styr den maximala tiden för att hålla en inaktiv session vid liv. Om mer än det InactivityTimeout angivna tidsintervallet passerar utan aktivitet avbryts sessionen av infrastrukturen och kanalfelen. Den tillförlitliga sessionen rivs ensidigt.

Om det sändande programmet inte har några meddelanden att skicka så felas normalt inte den tillförlitliga sessionen på grund av inaktivitet. i stället håller en keep-alive-mekanism sessionen aktiv på obestämd tid. Observera att avsändaren kan avbryta den tillförlitliga sessionen oberoende av varandra om inga programmeddelanden skickas eller tas emot. Tidsgränsen för inaktivitet upphör därför vanligtvis att gälla om nätverksvillkoren är sådana att inga meddelanden av något slag tas emot eller om det uppstår ett fel på avsändaren.

Om du anger den här tidsgränsen hindras servern från att hålla sig till en säkerhetssession om klienten inte stänger den. Om säkerhetssessionen inte har tagit emot ett meddelande om tidsintervallet för inaktivitet stängs den av servern. Detta minskar risken för överbelastningsattacker.

När du använder en tillförlitlig session finns det två olika timers för inaktivitet som måste uppfyllas för att hålla anslutningen vid liv. Om någon av dessa inaktivitetstimers stängs av tas anslutningen bort.

  • Den första timern för inaktivitet är på den tillförlitliga sessionen och kallas InactivityTimeout. Den här timern för inaktivitet utlöses om inga meddelanden, varken program eller infrastruktur, tas emot inom tidsgränsen. Ett infrastrukturmeddelande är ett meddelande som genereras för ett av protokollen i kanalstacken, till exempel en keep alive eller en bekräftelse, i stället för att innehålla programdata.

  • Den andra timern för inaktivitet finns i tjänsten och använder ReceiveTimeout inställningen för bindningen. Den här timern för inaktivitet utlöses om inga programmeddelanden tas emot inom tidsgränsen.

Eftersom anslutningen tas bort om inaktivitetstimern utlöses, ökar InactivityTimeout den när den är större än ReceiveTimeout vad som inte har någon effekt. Standardvärdet för båda dessa tidsgränser är 10 minuter, så du måste alltid öka båda för att göra skillnad när du använder en tillförlitlig session.

Gäller för