Binding.ReceiveTimeout Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger det tidsintervall som en anslutning kan förbli inaktiv under vilken inga programmeddelanden tas emot innan den tas bort.
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
Egenskapsvärde
Det TimeSpan anger hur länge programmet måste ta emot ett meddelande innan tidsgränsen nås. Standardvärdet är 10 minuter.
Undantag
Värdet är mindre än noll eller för stort.
Kommentarer
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. Detta anger till exempel den maximala tid det tar för en klient att skicka minst ett meddelande till servern innan servern stänger den kanal som används av en session. Det här beteendet säkerställer att klienter inte kan hålla fast vid serverresurser under godtyckliga långa perioder.
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.
Om transaktionsflödet är aktiverat på bindningen eller kanalen kan det ta längre tid att köra åtgärden än den angivna tidsgränsen. Under dessa omständigheter misslyckas åtgärden på grund av tidsgränsen som upphört att gälla och transaktionen avbryts på lämpligt sätt.
När säkerhet används med sessioner används även värdet ReceiveTimeout för bindningen som tidsgräns för sessionen.