【问题标题】:WCF timeout client vs serverWCF 超时客户端与服务器
【发布时间】:2011-03-22 05:37:10
【问题描述】:

谁能向我解释一下服务器上的超时配置与客户端上的超时配置有什么区别?例如,如果客户端将 sendTimeout 设置为 5 分钟,而服务器上的配置将其设置为 1 分钟,会发生什么情况?客户端自发起通信后是否占优势?

感谢您的帮助!

【问题讨论】:

    标签: wcf timeout wcf-client


    【解决方案1】:

    我想我明白了,看看http://omsite.blogspot.com/2008/04/playing-with-wcf-nettcpbinding-timeouts.html

    当客户端发起对服务端的调用时,客户端的sendTimeout和服务端的receiveTimeout生效。客户端必须在服务器上设置的 receiveTimeout 过期之前发送(或推送)所有数据。服务器必须在客户端设置的 sendTimeout 过期前完成操作并将结果返回给客户端。

    如果角色互换,意味着服务器正在向客户端打开通信(如回调等),那么服务器上的 sendTimeout 和客户端上的 receiveTimeout 就会发挥作用。

    还有 OpenTimeout 和 CloseTimeout 控制通道连接建立超时并在较低通道级别(线路套接字等)工作

    【讨论】:

    【解决方案2】:

    在测试你问的场景。请求的超时时间是5分钟,这个是在客户端定义的

    关于客户端超时

    SendTimeout - 用于初始化 OperationTimeout,它控制发送消息的整个过程,包括接收请求/回复服务操作的回复消息。当从回调合约方法发送回复消息时,此超时也适用。

    ReceiveTimeout - 未使用

    关于服务端超时

    SendTimeout 和客户端一样

    ReceiveTimeout – 服务框架层使用它来初始化会话空闲超时,该超时控制会话在超时之前可以空闲多长时间。

    https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/configuring-timeout-values-on-a-binding

    【讨论】:

      猜你喜欢
      • 2012-11-24
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 2010-11-12
      相关资源
      最近更新 更多