2011-03-14 29 views
14

經過相當多的搜索之後,我找不到這個問題的答案。WCF中OperationTimeout和SendTimeout之間的區別

OperationTimeoutSendTimeout之間有什麼區別?我讀OperationTimeoutSendTimeout的子集,並且SendTimeout包括在通道中寫入消息。如果你提供更多的細節,那就太好了。

我的第二個問題是我有客戶端調用服務,我只是想在發送到服務器的請求之後立即設置超時,並在服務器收到答覆之後不久。如何設置此超時?

+0

這看起來也是有幫助的:http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-and-their-default-values.aspx – 2015-04-10 09:31:00

回答

24

我想提出從布賴恩·麥克納馬拉閱讀this answer了對MSFT論壇:

結合超時 旋鈕

小結...

客戶端:

  • SendTimeout用於初始化OperationTimeout,其中 管理整個交互 發送一條消息(包括接收 請求回覆中的回覆消息 )。當 發送來自 CallbackContract方法的回覆消息時,此超時也適用。
  • OpenTimeout和CloseTimeout用於打開和關閉通道 (當沒有顯式超時值通過 時)。
  • ReceiveTimeout未使用。

服務器端:

  • 發送,打開,並關閉超時相同的客戶端(回調)。
  • ReceiveTimeout由ServiceFramework層用於初始化 會話空閒超時。