【发布时间】:2010-04-15 15:44:07
【问题描述】:
在 WCF 中,请求-响应操作的超时是否会使客户端的通道出错?
如果服务器发送响应超时,是不是服务器端的通道故障?
【问题讨论】:
标签: wcf timeoutexception
在 WCF 中,请求-响应操作的超时是否会使客户端的通道出错?
如果服务器发送响应超时,是不是服务器端的通道故障?
【问题讨论】:
标签: wcf timeoutexception
是的,超时会使通道出错 - 并且总是只有 一个 通道链接客户端和服务器 - 服务器没有自己的通道...
你基本上有:
+-----------+ +-----------+
| |_______________________| |
| Client | The Channel | Server |
| |-----------------------| |
+-----------+ +-----------+
实际上只有一个通道连接这两个位。至于超时 - 如果两端为相同的超时定义不同的值,较小的值将“获胜”并变得相关 - 较高的值(在另一端)不被考虑在内。
【讨论】:
正确,超时会使通道出错。您可以在客户端和服务器端设置最大超时时间。
【讨论】:
这取决于哪个超时。
如果您点击绑定的SendTimeout 或ReceiveTimeout(在我的情况下为NetTcpBinding),那么是的,通道将出现故障。
但是,如果您点击服务的OperationTimeout(在我的情况下为 DuplexChannel),那么您只会得到一个TimeoutException,并且该通道将不会出错。
【讨论】: