Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Binding.ReceiveTimeout-Eigenschaft

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.

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public TimeSpan ReceiveTimeout { get; set; }

Eigenschaftswert

Typ: System.TimeSpan
Die Timespan, die angibt, welcher Zeitraum der Anwendung vor dem Eintreten eines Timeouts bleibt, um eine Nachricht zu empfangen. Der Standardwert beträgt 10 Minute.

Implementiert

IDefaultCommunicationTimeouts.ReceiveTimeout

AusnahmeBedingung
ArgumentOutOfRangeException

Der Wert ist kleiner als 0 (null) oder zu lang.

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ätszeitgeber ausgeht, dann wird die Verbindung beendet.

  • Der erste Inaktivitätszeitgeber befindet sich in der zuverlässigen Sitzung und wird als InactivityTimeout bezeichnet. Dieser Inaktivitätszeitgeber 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ätszeitgeber ist im Dienst und verwendet die Einstellung ReceiveTimeout der Bindung. Dieser Inaktivitätszeitgeber 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ätszeitgeber 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 Sicherheit für Sitzungen verwendet, wird der Wert ReceiveTimeout, der auf die Bindung festgelegt ist, als auch das Sitzungstimeout verwendet.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft