Binding.ReceiveTimeout Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
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
Der TimeSpan , der angibt, wie lange die Anwendung eine Nachricht empfangen muss, bevor ein Timeout erfolgt. Der Standardwert ist 10 Minuten.
Ausnahmen
Der Wert ist kleiner als 0 (null) oder zu lang.
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. Wenn einer dieser Inaktivitätstimer ausgeht, dann wird die Verbindung beendet.
Der erste Inaktivitätstimer befindet sich in der zuverlässigen Sitzung und wird als InactivityTimeout bezeichnet. Dieser Inaktivitätstimer wird ausgelöst, wenn innerhalb des Timeouts keine Nachrichten von der Anwendung oder der Infrastruktur empfangen werden. 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.
Der zweite Inaktivitätstimer ist im Dienst und verwendet die Einstellung ReceiveTimeout der Bindung. Dieser Inaktivitätstimer wird ausgelöst, wenn innerhalb des Timeouts keine Anwendungsnachrichten empfangen werden. 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. Dieses Verhalten stellt sicher, dass Clients nicht beliebig lange an Serverressourcen festhalten können.
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. 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.
Wenn der Transaktionsfluss für die Bindung oder den Kanal aktiviert ist, kann der Vorgang länger dauern als das festgelegte Timeout. In diesem Fall schlägt der Vorgang aufgrund des abgelaufenen Timeouts fehl und die Transaktion bricht entsprechend ab.
Wenn Die Sicherheit mit Sitzungen verwendet wird, wird der ReceiveTimeout wert, der für die Bindung festgelegt ist, auch als Sitzungstimeout verwendet.