WCF超时客户端与服务器

时间:2010-07-28 15:27:48

标签: wcf timeout wcf-client

任何人都可以向我解释客户端服务器vesus上的超时配置有什么区别?例如,如果客户端将sendTimeout设置为5分钟,而服务器上的配置设置为1分钟,会发生什么?自发起通信以来,客户端是否占上风?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我想我得到了这个,看看http://omsite.blogspot.com/2008/04/playing-with-wcf-nettcpbinding-timeouts.html

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

如果角色颠倒了,意味着服务器正在打开回到客户端的通信(比如回调等),那么服务器上的sendTimeout和客户端上的receiveTimeout就会起作用。

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

答案 1 :(得分:0)

在测试中你问过的场景。请求的超时是5分钟,这是在客户端

中定义的

在客户端超时

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

ReceiveTimeout - 未使用

在服务端超时

SendTimeout 与客户端上的相同

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

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