Binding.ReceiveTimeout 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定連線中斷之前,可以維持非作用狀態的時間間隔 (在此期間未接收應用程式訊息)。
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
屬性值
, TimeSpan 指定應用程式在逾時之前必須接收訊息的時間長度。預設值為 10 分鐘。
例外狀況
這個值小於零或太大。
備註
使用可靠工作階段時,必須滿足兩個不同的無活動計時器,才能保持連線運作。 如果其中一個無活動計時器引發,就會中斷連線。
第一個無活動計時器在可靠的工作階段,稱為 InactivityTimeout。 如果在逾時期限內未收到訊息 (應用程式或基礎結構訊息),便會引發這個無活動計時器。 基礎結構訊息是為了通道堆疊的其中一個通訊協定 (例如保持運作或通知) 所產生的訊息,而非包含應用程式資料的訊息。
第二個無活動計時器位於服務上,會使用繫結的 ReceiveTimeout 設定。 如果在逾時期限內未收到應用程式訊息,便會引發這個無活動計時器。 例如,這會指定伺服器關閉工作階段使用的通道之前,用戶端至少傳送一個訊息至伺服器所花的最長時間。 這個行為可確保用戶端無法任意長時間地佔用伺服器資源。
因為其中一個無活動計時器引發便會中斷連線,因此當 InactivityTimeout 大於 ReceiveTimeout 時增加前者沒有任何作用。 這兩個計時器的預設逾時都是 10 分鐘,因此在使用可靠工作階段時,一定要同時增加兩者,才會有所差別。
如果在繫結程序或通道上啟用異動流程,執行作業所花的時間可能會比指定的逾時還要長。 在這些情況下,此作業會因為超過逾時值而失敗,異動也會適當地中止。
當安全性與會話搭配使用時,系 ReceiveTimeout 結上設定的值也會當做會話逾時使用。