Wie funktionieren die Timeouts in WCF? Ich weiß zum Beispiel, dass Sie sendTimeout und receiveTimeout für eine Clientbindung konfigurieren können. Aber wie arbeiten sie?
MSDN beschreibt sendTimeout als:
Ein TimeSpan-Wert, der das Zeitintervall angibt, in dem ein Sendevorgang abgeschlossen werden soll. Dieser Wert sollte größer oder gleich Null sein. Der Standardwert ist 00:01:00.
Was sind Sendeoperationen/Empfangsoperationen?
Client Seite:
Serverseite:
Die Quelle ist Brian McNamara in MSDN-Foren .
Siehe "Zeitüberschreitungen in WCF und ihre Standardwerte" http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-and-their-default-values. aspx
Timeouts für Binding-SendTimeout, ReceiveTimeout, OpenTimeout und CloseTimeout. Sie können einfach über config oder Code in der Bindung eingestellt werden. Der Standardwert hierfür ist 1 Minute.
ServiceHost verfügt über OpenTimeout und CloseTimeout. Die Standardeinstellung für OpenTimeout ist 1 Minute und für CloseTimeout 10 Sekunden.
Timeouts auf dem clientseitigen Kanal. Es gibt ein OperationTimeout, das Sie festlegen können, indem Sie den Kanal in IContextChannel umwandeln. Der Standardwert hierfür ist ebenfalls 1 Minute. Ttimeout für TCP-Transport, ChannelInitializationTimeout genannt, und sein Standardwert ist 5 Sekunden.
ASPNET. Es gibt ein Zeitlimit für das Herunterfahren, genau wie das Zeitlimit für das Schließen des Diensthosts. Der Standardwert beträgt 90 Sekunden. Das ExecutionTimeout beträgt, genau wie unser Operation Timeout, standardmäßig 110 Sekunden.
Zusätzlich zu dem, was sich auf diesem Post befand, gibt es auch das auf der Client-Seite definierte Operation Timeout. Sieh dir das an: