Binding.ReceiveTimeout Binding.ReceiveTimeout Binding.ReceiveTimeout Binding.ReceiveTimeout Property

Definition

Ruft ein Zeitintervall ab oder legt ein Zeitintervall fest, während dessen eine Verbindung inaktiv bleiben kann und keine Anwendungsnachrichten empfangen werden, bevor sie verworfen werden.Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

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

Eigenschaftswert

Die TimeSpan, die angibt, welcher Zeitraum der Anwendung vor dem Eintreten eines Timeouts bleibt, um eine Nachricht zu empfangen. Der Standardwert ist 10 Minuten.The TimeSpan that specifies how long the application has to receive a message before timing out. The default value is 10 minutes.

Ausnahmen

Der Wert ist kleiner als 0 (null) oder zu lang.The value is less than zero or too large.

Hinweise

Bei der Verwendung einer zuverlässigen Sitzung sind zwei verschiedene Inaktivitätszeitgeber vorhanden, deren Voraussetzungen erfüllt werden müssen, um die Verbindung aufrechtzuerhalten.When using a reliable session, there are two different inactivity timers that must be satisfied to keep the connection alive. Wenn einer dieser Inaktivitätstimer ausgeht, dann wird die Verbindung beendet.If either of these inactivity timers goes off, then the connection is dropped.

  • Der erste Inaktivitätstimer befindet sich in der zuverlässigen Sitzung und wird als InactivityTimeout bezeichnet.The first inactivity timer is on the reliable session and is called the InactivityTimeout. Dieser Inaktivitätstimer wird ausgelöst, wenn innerhalb des Timeouts keine Nachrichten von der Anwendung oder der Infrastruktur empfangen werden.This inactivity timer fires if no messages, either application or infrastructure, are received within the timeout period. Eine Infrastrukturnachricht wird eher für den Zweck eines der Protokolle in einem Kanalstapel generiert, wie z. B dem Aufrechterhalten oder einer Bestätigung, als dass es Anwendungsdaten enthielte.An infrastructure message is a message that is generated for the purpose of one of the protocols in the channel stack, such as a keep alive or an acknowledgment, rather than containing application data.

  • Der zweite Inaktivitätstimer ist im Dienst und verwendet die Einstellung ReceiveTimeout der Bindung.The second inactivity timer is on the service and uses the ReceiveTimeout setting of the binding. Dieser Inaktivitätstimer wird ausgelöst, wenn innerhalb des Timeouts keine Anwendungsnachrichten empfangen werden.This inactivity timer fires if no application messages are received within the timeout period. Dadurch wird z. B. die maximale Zeit festgelegt, die ein Client zum Senden von mindestens einer Nachricht an den Server benötigen darf, bevor der Server den von einer Sitzung verwendeten Kanal schließt.This specifies, for example, the maximum time a client may take to send at least one message to the server before the server will close the channel used by a session. Dieses Verhalten stellt sicher, dass Clients nicht beliebig lange an Serverressourcen festhalten können.This behavior ensures that clients cannot hold on to server resources for arbitrary long periods.

Da die Verbindung beendet wird, wenn einer der Inaktivitätstimer ausgelöst wird, besitzt die Erhöhung der InactivityTimeout keine Auswirkungen, sobald sie größer als die ReceiveTimeout ist.Since the connection is dropped if either inactivity timer fires, increasing InactivityTimeout once it is greater than ReceiveTimeout has no effect. Der Standardwert für beide Timeouts beträgt 10 Minuten, sodass bei Verwendung einer zuverlässigen Sitzung stets beide erhöht werden müssen, um etwas zu bewirken.The default for both of these timeouts is 10 minutes, so you always have to increase both of them to make a difference when using a reliable session.

Wenn der Transaktionsfluss für die Bindung oder den Kanal aktiviert ist, kann der Vorgang länger dauern als das festgelegte Timeout.If transaction flow is enabled on the binding or the channel, the operation may take longer to execute than the specified timeout. In diesem Fall schlägt der Vorgang aufgrund des abgelaufenen Timeouts fehl und die Transaktion bricht entsprechend ab.In these circumstances the operation fails due to the expired timeout and the transaction aborts appropriately.

Wenn die Sicherheit für Sitzungen verwendet wird, wird der für die Bindung festgelegte ReceiveTimeout-Wert auch als Sitzungs Timeout verwendet.When security is used with sessions, the ReceiveTimeout value set on the binding is also used as the session timeout.

Gilt für: